• Mahmoud Aglan's avatar
    fix: comprehensive chess multiplayer sync overhaul · ed1fc3ce
    Mahmoud Aglan authored
    - Eliminate double polling: removed game.js own poller, use match-session's
      single 2s poll via handleLivePollData callback (halves network requests)
    - Send last_move (from/to/san/promotion) in game_state so opponent gets
      exact move data — fixes castling, en passant, promotion animations
    - Opponent moves now animate (piece slides) instead of board snap
    - Capture particles now fire on opponent's captures too
    - Castling sound+haptic plays for opponent's castles
    - Draw flow: sender sees "sent" confirmation, receiver sees accept/deny
      dialog (30s timeout), both sides see result via game_state merge
    - Emote dedup: timestamp tracking prevents repeated display on same emote
    - Emotes use correct emoji lookup (getEmojiForKey) instead of 3 hardcoded
    - Polling runs even during player's turn (emotes + draws must arrive anytime)
    - Game end detection covers draw result ('draw' + 'aborted')
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    ed1fc3ce
Name
Last commit
Last update
..
auth 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...