a2d3841cfe
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
main
Eric WagonerandClaude Opus 5.52026-10-13 18:32:02 -04:00
a2bdf7a825
The keeper's door asks for a key only root and the game's 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:28 -04:00
8bbc41cc87
The keeper can bring back a seat a browser lost: a new token on the ledger, the old one refused, and a link that carries it in the fragment, minted by hnefatafl-reseat.sh through a /keeper door Caddy does not proxy and that turns away anything Caddy forwarded; the join page takes a linked seat only once the server accepts it and never over a seat this browser holds that still opens, a spectator at a game in play is told both ways back, the hall asks before forgetting a game in play, and the server's tests now run with the rest
Eric WagonerandClaude Opus 5.52026-10-13 18:24:31 -04:00
2b76b9bd9b
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
d32488b803
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:06 -04:00
7f66be8016
A credibility pass over ee5690e..HEAD: traffic.py parses each request once and counts visits one way, the deploy notes and skills agree with the scripts, and a few edit leftovers in the hall are tidied
Eric WagonerandClaude Opus 5.52026-10-11 10:17:01 -04:00
fcf25ff4e5
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:07 -04:00
7f19ec3ea9
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 09:59:38 -04:00
c04e82e085
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:29 -04:00
ee5690ebda
A credibility pass over the whole repo: the board's mechanics in board.ts, one copy of each helper and stylesheet rule, the kit's plumbing this game never used removed, and the ops scripts counting traffic through one parser
Eric WagonerandClaude Fable 5.12026-09-23 20:02:45 -04:00
a213a238d3
Board artwork: one component draws the game, the hall's still, and the share card, with gradients on the pieces, plank joins and inlaid corners on the oak, and the stone as it was
Eric Wagoner2026-09-23 19:32:15 -04:00
145667ea0d
The guide keeps the room too, every cross-link carries it, and a move picked from the record brings the board into view on a phone
Eric WagonerandClaude Fable 5.12026-09-23 19:15:09 -04:00
c5d487edbf
The Tablut board is cut in stone: mottled, chipped at a few corners, and cracked twice, as a slab from a long hall would be
Eric WagonerandClaude Fable 5.12026-09-23 19:01:42 -04:00
dcfbd38ae6
The default rules and side for a new table are preferences in the panel, and the hall's selectors set the same
Eric WagonerandClaude Fable 5.12026-09-23 18:58:51 -04:00
aa4f86bc56
Preferences: motion, confirming a move, coordinates on the board, and the last table choices remembered
Eric WagonerandClaude Fable 5.12026-09-23 18:54:55 -04:00
5db89edbc1
Coordinates on the board, moves in the record shown on the board, a status strip above it with the capture in words, notes under the variant selector and a still that follows it, keyboard play, and a way back to the game from the rules
Eric WagonerandClaude Fable 5.12026-09-23 18:48:53 -04:00
bac7182915
The tally in the hall's about panel, with the board played and how each game was won
Eric WagonerandClaude Fable 5.12026-09-23 18:16:32 -04:00
4f8bbbc3cb
Pieces slide, captures fade, and the bot's reply follows yours after a beat, so an exchange can be watched
Eric WagonerandClaude Fable 5.12026-09-23 15:03:33 -04:00
eeecfa1326
The rail keeps the last six moves, with who moved and what was taken, so a capture the bot answers at once is not lost
Eric WagonerandClaude Fable 5.12026-09-23 15:01:29 -04:00
7aed0c6ce9
A bot playing the attackers opens the game at once, and a restored table plays any owed bot move
Eric WagonerandClaude Fable 5.12026-09-23 14:37:41 -04:00
3aeb1ee99e
The rules page names the texts it follows: the Copenhagen club's rules and Linnaeus's manuscript in Salmi's reading; perpetual repetition loses for the defenders, as Copenhagen has it
Eric WagonerandClaude Fable 5.12026-09-23 13:51:25 -04:00
fc62034290
Production: the tafl droplet at 209.97.148.244, tafl.kestrelsnest.social, and the Sentry project
Eric WagonerandClaude Fable 5.12026-09-23 13:17:09 -04:00
0d2f54fe02
Hnefatafl: Copenhagen and Tablut, a board that ages with the older game, and a bot that looks three moves ahead
Eric WagonerandClaude Fable 5.12026-09-23 13:06:23 -04:00