Previously, navigating to a finished game caused the watch page to spin
forever because the stream never delivers events for finished games.
Fix by fetching the full game state via REST on load (GET .../game/{gameId}),
applying it immediately to the board, and only starting the stream subscription
if the game is still ongoing or pending.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>