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
@@ -383,6 +383,8 @@ class Net {
challenge = $state<{ by: string; at: string } | null>(null);
/** The keeper's name, once the room has said it. */
keeper = $state<string | null>(null);
/** The keeper's time zone (IANA), for telling a caller what hour it is there. */
keeperZone = $state<string | null>(null);
view = $state<GameView | null>(null);
log = $state<LogLine[]>([]);
error = $state<string | null>(null);
@@ -541,6 +543,7 @@ class Net {
this.expected = msg.expected ?? [];
this.challenge = msg.challenge ?? null;
if (typeof msg.keeper === "string") this.keeper = msg.keeper;
if (typeof msg.keeperZone === "string") this.keeperZone = msg.keeperZone;
if (this.you && this.token) {
const seat: Seat = { name: this.you, roomId: msg.roomId, token: this.token };
localStorage.setItem(SEAT_KEY, JSON.stringify(seat));