diff --git a/client/commonFramework/bindings.js b/client/commonFramework/bindings.js
index 37009a8a2a..158314255d 100644
--- a/client/commonFramework/bindings.js
+++ b/client/commonFramework/bindings.js
@@ -9,8 +9,7 @@ window.common = (function(global) {
// ctrl + enter or cmd + enter
if (
e.keyCode === 13 &&
- e.metaKey ||
- e.ctrlKey
+ (e.metaKey || e.ctrlKey)
) {
$('#complete-courseware-dialog').off('keydown', ctrlEnterClickHandler);
if ($('#submit-challenge').length > 0) {
diff --git a/client/commonFramework/end.js b/client/commonFramework/end.js
index 139f6aad00..323b0d41f9 100644
--- a/client/commonFramework/end.js
+++ b/client/commonFramework/end.js
@@ -57,6 +57,11 @@ $(document).ready(function() {
({ err, solved, output, tests }) => {
if (err) {
console.error(err);
+ if (common.challengeType === common.challengeTypes.HTML) {
+ return common.updatePreview$(`
+
${err}
+ `).subscribe(() => {});
+ }
return common.updateOutputDisplay('' + err);
}
common.updateOutputDisplay(output);
@@ -65,7 +70,7 @@ $(document).ready(function() {
common.showCompletion();
}
},
- (err) => {
+ ({ err }) => {
console.error(err);
common.updateOutputDisplay('' + err);
}
@@ -76,8 +81,18 @@ $(document).ready(function() {
return Observable.fromCallback($preview.ready, $preview)()
.delay(500)
.flatMap(() => common.executeChallenge$())
+ .catch(err => Observable.just(err))
.subscribe(
- ({ tests }) => {
+ ({ err, tests }) => {
+ if (err) {
+ console.error(err);
+ if (common.challengeType === common.challengeTypes.HTML) {
+ return common.updatePreview$(`
+ ${err}
+ `).subscribe(() => {});
+ }
+ return common.updateOutputDisplay('' + err);
+ }
common.displayTestResults(tests);
},
({ err }) => {
diff --git a/server/views/coursewares/showVideo.jade b/server/views/coursewares/showVideo.jade
index ed06486f89..2368076288 100644
--- a/server/views/coursewares/showVideo.jade
+++ b/server/views/coursewares/showVideo.jade
@@ -65,8 +65,7 @@ block content
function controlEnterHandler(e) {
if (
e.keyCode === 13 &&
- e.ctrlKey ||
- e.metaKey
+ (e.ctrlKey || e.metaKey)
) {
$('body').unbind('keydown');
$('#complete-courseware-editorless-dialog').modal('show');
@@ -76,8 +75,7 @@ block content
function modalControlEnterHandler(e) {
if (
e.keyCode === 13 &&
- e.ctrlKey ||
- e.metaKey
+ (e.ctrlKey || e.metaKey)
) {
$('#complete-courseware-editorless-dialog').unbind('keydown');
$('#next-courseware-button').click();
diff --git a/server/views/coursewares/showZiplineOrBasejump.jade b/server/views/coursewares/showZiplineOrBasejump.jade
index 54d67cb844..f4936aed74 100644
--- a/server/views/coursewares/showZiplineOrBasejump.jade
+++ b/server/views/coursewares/showZiplineOrBasejump.jade
@@ -81,8 +81,10 @@ block content
common.controlEnterHandler = function (e) {
$('body').unbind('keydown');
- if (e.metaKey && e.keyCode === 13 ||
- e.ctrlKey && e.keyCode === 13) {
+ if (
+ e.keyCode === 13 &&
+ (e.metaKey || e.ctrlKey)
+ ) {
$('#complete-zipline-or-basejump-dialog').modal('show');
} else {
$('body').bind('keydown', common.controlEnterHandler);
@@ -91,8 +93,10 @@ block content
common.modalControlEnterHandler = function (e) {
$('#complete-zipline-or-basejump-dialog').unbind('keydown');
- if (e.metaKey && e.keyCode === 13 ||
- e.ctrlKey && e.keyCode === 13) {
+ if (
+ e.keyCode === 13 &&
+ (e.metaKey || e.ctrlKey)
+ ) {
$('#next-courseware-button').click();
} else {
$('#complete-zipline-or-basejump-dialog').on('keydown', common.modalControlEnterHandler);