fix: live chess — resign syncs, reconnect preserves color, clocks sync
Three critical multiplayer sync issues fixed:
1. Resign now notifies server (action:'resign') BEFORE ending locally.
Opponent's polling detects status:'completed' + result and shows win.
2. Reconnect recovery completely rewritten:
- Determines player color from match data (white_player_id vs userId)
- Flips board correctly for black
- Sets lastKnownMoveCount from server to prevent duplicate move processing
- Detects if game already ended while disconnected (opponent resigned)
- Restores canSelect with correct color check
3. sendLiveMove now includes clock times (white_time_remaining_ms,
black_time_remaining_ms) so opponent sees accurate clocks.
Co-Authored-By:
Claude Opus 4.6 <noreply@anthropic.com>
Showing
Please register or sign in to comment