A notice the whole hall shows: hall-announce on the host, served by every game's site, shown at the top of each page

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-29 13:03:15 -04:00
co-authored by Claude Opus 5.5
parent 294b1d5460
commit 96ec6861d5
9 changed files with 242 additions and 1 deletions
+15
View File
@@ -78,6 +78,21 @@ then the round resolves; turn-at-a-time games fit as the case where one
seat needs input at a time. A game of single commands with out-of-turn
interruptions, Wiz-War's shape, does not fit and keeps its own server.
## The hall-wide notice
Every game on the shared host shows the same notice at the top of its
pages when there is one: maintenance, a new game, anything the whole
family should hear. The keeper sets it on the host,
hall-announce "Kestrel's Hall is down for five minutes of maintenance" --at "2026-09-30 11:00 UTC"
hall-announce --clear
which writes /var/lib/hall/announcement.json; each game's site serves it at
`/hall/announcement.json` (a `handle_path` in its Caddy site file), and
`Announcement.svelte`, in the template's layout, shows it with the time in
each reader's own clock. A reader may dismiss one notice; the next still
shows. `hall-announce` is installed by `gamehall/deploy.sh`.
## The family
`family.json` lists every game of Kestrel's Hall: slug, name, address,