The lobby tells a caller what hour it is where the keeper lives, and that other games can go on in another tab

WIZWAR_KEEPER_TZ names the zone (Eastern by default); the room carries it
and the client words the hour by the minute.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-23 08:49:37 -04:00
co-authored by Claude Fable 5.1
parent 31bfcf7bc0
commit 35d805fda3
4 changed files with 29 additions and 3 deletions
+3
View File
@@ -147,6 +147,8 @@ function receiveFeedbackImage(req: IncomingMessage, res: ServerResponse, reportI
/** Calls to the keeper: a real person's phone rings for each. */
const challengesPerAddress = new SlidingLimit(3, 60 * 60 * 1000);
/** Where the keeper sleeps, so a caller can tell four in the morning from four in the afternoon. */
const KEEPER_ZONE = process.env.WIZWAR_KEEPER_TZ ?? "America/New_York";
const PUBLIC_URL = (process.env.WIZWAR_PUBLIC_URL ?? "https://wizwar.kestrelsnest.social").replace(/\/$/, "");
const reportsPerAddress = new SlidingLimit(6, 60 * 60 * 1000);
const MAX_COMMAND_BYTES = 16384; // serialized game command
@@ -594,6 +596,7 @@ function roomInfo(room: Room) {
expansion: room.expansion,
challenge: room.challenge ?? null,
keeper: KEEPER,
keeperZone: KEEPER_ZONE,
colors: Object.fromEntries(room.colorChoices),
bots: Object.fromEntries(
// A mystery machine keeps its mood only while the game lives: once it