9de0a55d54
The root address is rewritten to index.html, since try_files passes the root over as a directory and served the shell in place of the hall
main
Eric WagonerandClaude Fable 5.12026-10-29 11:22:33 -04:00
42144c1cc9
The masthead, the scrim, the quiet button and the colophon are styled once in app.css instead of pasted into each page and slip with drifting paddings; the style blocks of the play page and the board are indented like the rest of the files; and comments in script and CSS say what the code does or guards, in plain words, where they had been written in the game's own voice
Eric WagonerandClaude Fable 5.12026-10-29 11:10:19 -04:00
22979afd35
The ledger's box is trimmed after each turn to the header and as many of the newest whole rows as fit under its cap, and the header stacks above every body cell, so a long duel no longer shows the oldest visible row cut in half under the sticky header; the cap allows a few more rows on a tall screen; and the guide's picture of the hall is the hall as it is now
Eric WagonerandClaude Fable 5.12026-10-29 11:10:19 -04:00
4c224a8e22
The deploy renders the Caddy site file from the template every time, as it installs the scripts, so a change to the site file ships with the build that needs it
Eric WagonerandClaude Fable 5.12026-10-29 10:35:32 -04:00
26d9b7f5d6
The hall, the rules and the guide are rendered at build time and served as whole pages, so a reader without scripts, a crawler or view-source sees the text and not an empty shell; the app shell Caddy serves for a room address is shell.html, since a fallback named index.html overwrote the hall's own page; and the family list carries Wyrm and Dip's larger maps
Eric WagonerandClaude Fable 5.12026-10-29 10:34:06 -04:00
fa5e9cfc08
The chronicle's enchantment lines no longer all run image, colon, consequence; each keeps its picture and its exact fact in its own sentence shape, and the about panel's tally heading and two of its closing flourishes are said plainly, since a page of one sentence pattern reads as written by a machine
Eric WagonerandClaude Fable 5.12026-10-29 10:30:41 -04:00
f21b2c3b16
The keeper can say a word at a table through the keeper's door, signed as the keeper and heard whether or not the gallery may talk, so a call answered too late, after the duel began, can still be answered; waving-hands-say.sh sends it
Eric WagonerandClaude Opus 5.52026-10-20 13:16:57 -04:00
745b8e99b9
The host is asked before beginning while a seat is still held for someone on their way, since the seat goes once the game begins; and the gallery says the game began before they arrived, so whoever was called and finds the table under way knows why there is no seat
Eric WagonerandClaude Opus 5.52026-10-20 13:04:28 -04:00
f98bfba107
The host has a hand on the other seats: once the duel begins, Seats makes a transfer phrase for another wizard's seat, which gives it a new token when claimed, and gives the seat of a wizard who cannot go on to a bot, which duels the turn it owes at once and keeps gestures already sealed; the wizard's token opens nothing while it stands in, their page goes to the gallery with the reason and a claim box, the roster says a bot duels for them, and a rematch holds their seat without the stand-in; the server pings every socket and closes one a dead browser left open
Eric WagonerandClaude Opus 5.52026-10-16 19:04:33 -04:00
a673ea9766
A seat link replaces a held seat only when the server refuses the held token, not when the connection drops, so a link cannot take a working seat away on a bad connection
Eric WagonerandClaude Opus 5.52026-10-13 18:32:10 -04:00
21d9c12f48
The keeper's door asks for a key only root and the waving-hands user can read, so another service on the host cannot re-seat anyone; the deploy makes the key once and the reseat script sends it from a file descriptor; and a seat link is taken out of the address bar with the browser's own call, since the page reads it before the router starts
Eric WagonerandClaude Opus 5.52026-10-13 18:28:25 -04:00
b51934ecd6
The keeper can bring back a seat a browser lost: a new token on the ledger, the old one refused and any phrase it minted voided, and a link that carries it in the fragment, minted by waving-hands-reseat.sh through a /keeper door Caddy does not proxy; the join page keeps a linked seat only once the server takes it and never over a seat that still opens, a watcher at a duel in play is told both ways back, the hall asks before forgetting a duel in play, and the server's rooms have tests of their own
Eric WagonerandClaude Opus 5.52026-10-13 18:24:20 -04:00
6572a1ad92
The hosting line says what it promises: chipping in unlocks nothing, and nothing is held back without it
Eric WagonerandClaude Opus 5.52026-10-13 09:23:44 -04:00
30abb71e26
The nightly rollup and backup say by their exit status whether they managed, and the deploy leaves the cron file off a host the hall schedules
Eric WagonerandClaude Fable 5.12026-10-12 10:07:05 -04:00
6f9d4de92d
An editing pass over the words around the game, and three corrections in the guide
Eric WagonerandClaude Opus 5.52026-10-10 18:51:59 -04:00
673f7c84d9
The guide's figures show the framed hands, the chronicle in order, and the phone's Seal button
Eric WagonerandClaude Opus 5.52026-10-10 18:42:34 -04:00
db682814ea
The rollup's last line names the traffic it counted, and the rollup and the backup check in once, when they end
Eric WagonerandClaude Opus 5.52026-10-10 17:44:44 -04:00
34b367249e
The tally is told as Wiz-War tells it: the game's own story on cards, then the ledgers in detail
Eric WagonerandClaude Opus 5.52026-09-27 20:48:08 -04:00
151d82e747
Traffic counts what matters: rooms opened from the site, where links were shared, scanners and monitors as bots
Eric WagonerandClaude Opus 5.52026-09-27 10:00:53 -04:00
38e5f8b28d
The family list knows the hall: about panels link to gamehall.kestrelsnest.social, and a new game gets a card there
Eric WagonerandClaude Fable 5.12026-09-23 21:04:30 -04:00
e5c240d970
Gallery talk, the keeper's bell, rematches, seats that travel by phrase, and seats doubted before dropped
Eric WagonerandClaude Fable 5.12026-09-23 12:27:21 -04:00
5b169d7131
The family list of the Kestrel's Nest, shipped as /family.json and refreshed from the kit at deploy
Eric WagonerandClaude Fable 5.12026-09-23 12:27:16 -04:00
966a36b4aa
Seat tokens hashed on the ledger, inputs written as they arrive, codes checked against the disk
Eric WagonerandClaude Fable 5.12026-09-23 12:07:24 -04:00
effe17c729
Phone fixes at a crowded table: focus scroll in viewport coordinates, a wrapping masthead, a slimmer bar
Eric WagonerandClaude Fable 5.12026-09-23 11:41:28 -04:00
5c79a65319
A crowded table: keyed threats, a compact roster, a ledger selector, host-only starts
Eric WagonerandClaude Fable 5.12026-09-23 11:21:13 -04:00
9bd203ae60
Operations in wizwar's shape: the determinism gate, backups, the rollup and the pulse
Eric WagonerandClaude Fable 5.12026-09-22 22:06:10 -04:00