summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2022-01-09 14:25:50 +0100
committerTor Andersson <tor@ccxvii.net>2022-01-09 14:46:27 +0100
commite40d9af1a6e90d295191a9b1c6e320f789c58ecf (patch)
treee093e1388e0d8e515b71e288e7b0f332f9d075fb
parenta059a95c67ba2ec65a5989f7870ee56958745bdc (diff)
downloadserver-e40d9af1a6e90d295191a9b1c6e320f789c58ecf.tar.gz
Treat 1 in options object same as true.
-rw-r--r--public/common/play.js10
-rw-r--r--server.js4
2 files changed, 10 insertions, 4 deletions
diff --git a/public/common/play.js b/public/common/play.js
index ede3a5b..9432be4 100644
--- a/public/common/play.js
+++ b/public/common/play.js
@@ -382,7 +382,7 @@ function connect_play() {
break;
case 'save':
- window.localStorage[params.title_id + "/save"] = msg;
+ window.localStorage[params.title_id + "/save"] = arg;
break;
}
}
@@ -643,7 +643,13 @@ async function init_replay() {
ss = Object.assign({}, s);
}
- eval_action(replay[p]);
+ try {
+ eval_action(replay[p]);
+ } catch (err) {
+ console.log("ERROR IN REPLAY", p, replay[p], s.state, s.automatic_disruption);
+ replay.length = p;
+ break;
+ }
replay[p].digest = adler32(JSON.stringify(s));
for (let k = p-1; k > 0; --k) {
diff --git a/server.js b/server.js
index 5523541..266c49c 100644
--- a/server.js
+++ b/server.js
@@ -973,14 +973,14 @@ function is_solo(players) {
function format_options(options) {
function to_english(k) {
- if (k === true) return 'yes';
+ if (k === true || k === 1) return 'yes';
if (k === false) return 'no';
return k.replace(/_/g, " ").replace(/^\w/, c => c.toUpperCase());
}
if (!options || options === '{}')
return "None";
options = JSON.parse(options);
- return Object.entries(options||{}).map(([k,v]) => v === true ? to_english(k) : `${to_english(k)}=${to_english(v)}`).join(", ");
+ return Object.entries(options||{}).map(([k,v]) => (v === true || v === 1) ? to_english(k) : `${to_english(k)}=${to_english(v)}`).join(", ");
}
function annotate_game(game, user_id) {