Commit Graph

8 Commits

Author SHA1 Message Date
a3fe708746 docs: describe rematches and series
The rematch spec is implemented; AGENTS.md lists it with notes on the
offers, the keyed game route and stale dev builds, TODO.md takes the
items left out.
2026-10-17 02:21:01 +03:00
79f68416ee feat(frontend): show the series above the game
From the second game of a series, a strip shows the series score and a
box per game in the winner's colour, with the stores, who moved first
and how it ended; a finished game opens its replay in a new tab. The
game over card shows the series score too. Spectators see names.
2026-10-17 02:15:53 +03:00
aa68f04b28 feat(frontend): offer a rematch on the game over card
The card asks for a rematch, shows a request from the opponent with
Rematch and No, waits with Cancel and says why a request ended. The game
page follows the next game, keyed by its id so it starts afresh. Play
again against the bot is a rematch. The score is two columns, each name
above its stones, the winner's stones stronger.
2026-10-17 02:09:22 +03:00
94fc7fcbc7 feat(core): add rematch channels, series types and texts
The four rematch channels, Series and SeriesGame, the series and first
seat of a game, getSeriesScore and the texts in English and Turkish.
2026-10-17 02:05:12 +03:00
af11fd1cf1 feat(backend): save the series of each game
Migration 004_series adds games.series_id with an index, so the history
can group a series later. Games saved before have none.
2026-10-17 02:04:24 +03:00
dbaa1d2492 feat(backend): let players ask for a rematch
RematchOffers keeps an offer open for ten minutes after a game nobody
left. A request goes to the opponent; when both have asked the next game
of the series starts with the other player moving first. Requests end on
no, withdrawal, a minute without answer, going offline or looking for
another game. The bot accepts at once.
2026-10-17 02:03:16 +03:00
ee9e5261eb feat(backend): keep the series a live game belongs to
Every game starts a series; a game created in a series gets its seat to
move first. Clients get the series and the first seat with the game, the
end message the series with the ended game; snapshots keep the series.
2026-10-17 02:00:44 +03:00
c56d1f2c33 docs(rematch): add the spec
Rematch from the game over card, alternating first moves and a series
strip with the score of the games the same two players played in a row.
2026-10-17 01:58:58 +03:00