]> git.sesse.net Git - remoteglot/blobdiff - www/js/remoteglot.js
Fix a null pointer exception in the frontend.
[remoteglot] / www / js / remoteglot.js
index 5674cf19f996de47caea89ab07547c898a8aff22..333bd5c415a458fdd6f9e0808e02a44fdfc4daaf 100644 (file)
@@ -7,7 +7,7 @@
  * @type {Number}
  * @const
  * @private */
-var SCRIPT_VERSION = 2016032202;
+var SCRIPT_VERSION = 2016091401;
 
 /**
  * The current backend URL.
@@ -279,11 +279,13 @@ var request_update = function() {
 
                // Verify that the PV makes sense.
                var valid = true;
-               var hiddenboard = new Chess(new_data['position']['fen']);
-               for (var i = 0; i < new_data['pv'].length; ++i) {
-                       if (hiddenboard.move(data['pv'][i]) === null) {
-                               valid = false;
-                               break;
+               if (new_data['pv']) {
+                       var hiddenboard = new Chess(new_data['position']['fen']);
+                       for (var i = 0; i < new_data['pv'].length; ++i) {
+                               if (hiddenboard.move(new_data['pv'][i]) === null) {
+                                       valid = false;
+                                       break;
+                               }
                        }
                }
 
@@ -295,7 +297,7 @@ var request_update = function() {
                        update_num_viewers(num_viewers);
                } else {
                        console.log("Received invalid update, waiting five seconds and trying again.");
-                       timeout = 5000;
+                       location.reload(true);
                }
 
                // Next update.
@@ -770,7 +772,7 @@ window['collapse_history'] = collapse_history;
  * Also recreates the global "display_lines".
  */
 var update_refutation_lines = function() {
-       if (base_fen === null) {
+       if (base_fen === null || current_display_line === null) {
                return;
        }
        if (display_lines.length > 2) {