• Mahmoud Aglan's avatar
    fix: draw offer race condition + add multiplayer logging · 9b2a459c
    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: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    9b2a459c
Name
Last commit
Last update
..
auth Loading commit data...
backgammon Loading commit data...
chess Loading commit data...
domino Loading commit data...
ludo Loading commit data...
org Loading commit data...
play Loading commit data...
profile Loading commit data...
puzzles Loading commit data...
rank Loading commit data...
rewards Loading commit data...
shop Loading commit data...
social Loading commit data...
tournaments Loading commit data...