]> git.sesse.net Git - remoteglot/blobdiff - www/js/remoteglot.js
Fix a client crash when the server was not sending it correct multi-PVs.
[remoteglot] / www / js / remoteglot.js
index 0748dcecef86a71cf14db1b15996a57eea853870..35683608f55fb33aac14a0e5d7b5fd16f39497c6 100644 (file)
@@ -1060,10 +1060,20 @@ var update_board = function() {
                        headline += ' after ' + last_move;
                }
        } else if (data['position']['last_move'] !== 'none') {
+               // Find the previous move.
+               var previous_move_num, previous_toplay;
+               if (data['position']['toplay'] == 'B') {
+                       previous_move_num = data['position']['move_num'];
+                       previous_toplay = 'W';
+               } else {
+                       previous_move_num = data['position']['move_num'] - 1;
+                       previous_toplay = 'B';
+               }
+
                last_move = format_move_with_number(
                        data['position']['last_move'],
-                       data['position']['move_num'],
-                       data['position']['toplay'] == 'B');
+                       previous_move_num,
+                       previous_toplay == 'W');
                headline += ' after ' + last_move;
        } else {
                last_move = null;
@@ -1198,7 +1208,9 @@ var update_board = function() {
                for (var i = 1; i < alt_moves.length && i < 3; ++i) {
                        hiddenboard = new Chess(base_fen);
                        var move = hiddenboard.move(alt_moves[i]);
-                       create_arrow(move.from, move.to, '#f66', 1, 10);
+                       if (move !== null) {
+                               create_arrow(move.from, move.to, '#f66', 1, 10);
+                       }
                }
        }