Block a user
evaluate_on_win uses .last() — drops all but the final GameWonEvent when multiple fire in one frame
Multiple modals can stack — sync_setup, achievements, and leaderboard guard by plugin marker not ModalScrim
Time attack countdown continues running while Win Summary overlay is displayed
[Android] U+25BE Geometric Shapes glyph in HUD labels — renders as missing-glyph rectangle
Theme A→B→A switch leaves stale card-image handles — cards display wrong theme
SyncAuthError and SyncBusyOverlay on same entity — auth error text is always invisible
Stats double-counted on game forfeit — record_abandoned() fires twice
check_win only counts 13 cards per foundation — corrupt save permanently locks game
[server] avg_time_seconds merge produces wrong value when losing side has more wins
Undo penalty deducted from pre-move score instead of post-move score
take_from_foundation defaults to true but is documented as "Off by default"
[server] Replay leaderboard update is dead code — case mismatch "classic" vs "Classic"
Auto-complete deactivates mid-sequence when is_auto_completable is transiently false
Replay backward step decrements cursor before undo is applied — cursor/state mismatch and rapid-click divergence
[critical] Space/D keys fire DrawRequestEvent during replay playback
[critical] toggle_help_screen spawns second ModalScrim while another modal is open
[critical] toggle_settings_screen spawns second ModalScrim while another modal is open
[critical] Sync pull completion silently overwrites wins that occurred during the fetch