From 9334a439e495c088d088f986a2f73138530f1dbf Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Thu, 18 Jun 2020 09:04:29 -0700 Subject: [PATCH] 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. --- empathy.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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); -- 2.43.0