-
Mahmoud Aglan authored
Root cause: draw offers stored in game_state were lost when a concurrent move write did read→merge→write (non-atomic). Now uses PostgreSQL jsonb || operator via merge_game_state() RPC for atomic merges. Also adds: - mp_log table for server-side multiplayer event logging - Frontend sessionStorage logging (sessionStorage.mp_log) for debugging draw offers, moves, and poll events - Logging on match_created, move, resign, draw_accepted, game_state_merge Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
9b2a459c
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| analysis.js | ||
| game.js | ||
| history.js | ||
| result.js | ||
| review.js | ||
| spectate.js |