Some checks failed
Deploy to Production / test (push) Failing after 36s
Players subscribe to the room pub/sub channel and also receive direct GAME_STATE messages. The GAME_STARTED and GAME_UPDATE broadcasts carry the spectator view (no myColor/legalMoves), and were blindly overwriting gameState — making isPlayerView() return false and disabling all interaction. Now these broadcast handlers only update gameState for spectators; players rely exclusively on the direct GAME_STATE message. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>