nerdware/apps/server/src/game
AyoubBenziza 6ed99ea803 feat: reconnection — keep your place across refresh / network drop
- each player gets a reconnectToken; room:create/join return it
- new room:rejoin event: re-attaches the existing player (by id+token) to the
  new socket, broadcasts player:rejoined + room:state, and resyncs the current
  round to that socket (engine.resync re-emits round:start with their view)
- client persists the session (roomCode/playerId/token/name) in localStorage;
  bootstraps the store from it and auto-rejoins on every socket connect;
  clears it on reset/quit or failed rejoin

Verified e2e: wrong token rejected, correct token re-attaches (player present
+ connected).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 17:26:22 +02:00
..
modes feat: category filter in lobby settings 2026-06-11 15:37:33 +02:00
engine.test.ts feat: round recap shows each player's answer 2026-06-11 01:00:50 +02:00
engine.ts feat: reconnection — keep your place across refresh / network drop 2026-06-11 17:26:22 +02:00
match.ts feat: mixed games by default, free-text quiz, mode-aware transitions 2026-06-10 13:41:29 +02:00
registry.ts feat(server): generic game engine — GameRound interface + orchestration loop 2026-06-08 15:29:49 +02:00
round.ts feat: reconnection — keep your place across refresh / network drop 2026-06-11 17:26:22 +02:00