• 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
..
canvas Loading commit data...
components Loading commit data...
logic Loading commit data...
scenes Loading commit data...
mod.js Loading commit data...