• 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
..
assets Loading commit data...
css Loading commit data...
icons Loading commit data...
js Loading commit data...
uploads/theme Loading commit data...