mancala/packages/core/src/models
Halit Aksoy 7239bbb6ed feat(backend): save every game and keep live games across restarts
- Games record start and move times, spectator peak and distinct count
- Games end as completed, left (the leaver loses), timeout (5 minutes
  offline on your turn while the opponent is online) or inactive (both
  offline for 30 minutes); everyone gets on_game_end
- Connection info carries offlineSince for the countdown
- A new game is rejected while the user has one in progress
- Live games are written to Valkey after every change and restored on
  startup; finished games are saved to Postgres with public ids, and
  saves that fail are kept and retried every 30 seconds
- Clients get a trimmed game without spectator ids
- Startup waits for Valkey, restores games, then accepts connections;
  migrations are retried while Postgres is unreachable
2026-10-16 00:18:33 +03:00
..
AuthUser.ts feat(frontend): log in with Keycloak, as a guest or with an account 2026-10-14 02:22:13 +03:00
Game.ts feat(core): add game history types and move history helpers 2026-10-16 00:07:36 +03:00
GameHistory.ts feat(backend): save every game and keep live games across restarts 2026-10-16 00:18:33 +03:00
GameMove.ts (refactor) change folder structure 2024-06-18 01:11:26 +03:00
index.ts feat(core): add game history types and move history helpers 2026-10-16 00:07:36 +03:00
LoadingState.ts (refactor) change folder structure 2024-06-18 01:11:26 +03:00
User.ts (refactor) change folder structure 2024-06-18 01:11:26 +03:00
UserConnectionInfo.ts feat(core): add game history types and move history helpers 2026-10-16 00:07:36 +03:00