From: Carl Worth Date: Thu, 18 Jun 2020 16:04:29 +0000 (-0700) Subject: Set judging_start_time_ms before anyone actually does any judging X-Git-Url: https://git.cworth.org/git?p=lmno-server;a=commitdiff_plain;h=9334a439e495c088d088f986a2f73138530f1dbf;hp=343a27a7740c870fae4a6381ab9a7abfc3594b72 Set judging_start_time_ms before anyone actually does any judging The judging phase is different than answering in that judging is optional. So we can't rely on clients actually sending a "judging" notification, (since they might just submit without having clicked on any of the words). So instead, we set the start time for the judging phase as soon as we enter that phase. --- diff --git a/empathy.js b/empathy.js index 3728a0e..46d7f79 100644 --- a/empathy.js +++ b/empathy.js @@ -261,6 +261,10 @@ class Empathy extends Game { return a.toLowerCase().localeCompare(b.toLowerCase()); }); + if (this.judging_start_time_ms === 0) { + this.judging_start_time_ms = Date.now(); + } + this.broadcast_event_object('ambiguities', this.state.ambiguities); } @@ -336,6 +340,7 @@ class Empathy extends Game { } receive_judging(prompt_id, session_id) { + const player = this.players_by_session[session_id]; if (! player) return { valid: false, message: "Player not found" }; @@ -358,9 +363,6 @@ class Empathy extends Game { }, PHASE_IDLE_TIMEOUT * 1000); } - if (this.judging_start_time_ms === 0) - this.judging_start_time_ms = Date.now(); - /* Notify all players this this player is actively judging. */ this.state.players_judging.add(player.name); this.broadcast_event_object('player-judging', player.name);