OnlineMatch never records stats, replays, or profile updates when a game ends #67

Closed
opened 2026-09-15 04:49:09 +00:00 by Mark · 1 comment
Owner

Summary

CasualDuel.tsx and RankedMatch.tsx both call recordMatch, recordGameEnd, and saveReplay when a game concludes. OnlineMatch.tsx does NOT — players who only play online get no profile XP, no stats, and no replay saved.

Where

  • src/pages/OnlineMatch.tsx (around the game-end handler — search for 'isGameOver')
  • Compare to src/pages/CasualDuel.tsx:422 (recordGameEnd call)

Repro

  1. Start an online match
  2. Win or lose
  3. Inspect profile → no level change
  4. Inspect stats → no game recorded
  5. Inspect replays → no entry

Why this matters

  • Online players get no progression
  • Online games aren't reviewable in the replay viewer
  • Stats are skewed toward casual-only players

Acceptance criteria

  • OnlineMatch.tsx dispatches recordMatch(won) when a game ends
  • Dispatches recordGameEnd with mode: 'online', archetype, turnCount, completedSpellIds, symbolPlays
  • saveReplay is called for online games (with mode: 'online' in the replay metadata)
  • Mirror the CasualDuel.tsx:422-440 pattern
## Summary CasualDuel.tsx and RankedMatch.tsx both call recordMatch, recordGameEnd, and saveReplay when a game concludes. OnlineMatch.tsx does NOT — players who only play online get no profile XP, no stats, and no replay saved. ## Where - src/pages/OnlineMatch.tsx (around the game-end handler — search for 'isGameOver') - Compare to src/pages/CasualDuel.tsx:422 (recordGameEnd call) ## Repro 1. Start an online match 2. Win or lose 3. Inspect profile → no level change 4. Inspect stats → no game recorded 5. Inspect replays → no entry ## Why this matters - Online players get no progression - Online games aren't reviewable in the replay viewer - Stats are skewed toward casual-only players ## Acceptance criteria - OnlineMatch.tsx dispatches recordMatch(won) when a game ends - Dispatches recordGameEnd with mode: 'online', archetype, turnCount, completedSpellIds, symbolPlays - saveReplay is called for online games (with mode: 'online' in the replay metadata) - Mirror the CasualDuel.tsx:422-440 pattern
Mark closed this issue 2026-09-18 13:37:45 +00:00
Author
Owner

Fixed in commit. Closing.

Fixed in commit. Closing.
Sign in to join this conversation.
No description provided.