Block a user
docs: card_game integration gap analysis
funman300
created branch docs/card-game-integration in funman300/Ferrous-Solitaire
2026-05-28 22:28:56 +00:00
funman300
pushed to docs/card-game-integration at funman300/Ferrous-Solitaire
2026-05-28 22:28:56 +00:00
Stats panel can open on top of another modal (missing scrim guard)
Fixed in commit f1d9601
Root cause
toggle_stats_screen only checked screens.single() to see if the Stats panel itself was already open. It never checked whether another modal…
Stats panel can open on top of another modal (missing scrim guard)
Stats panel can open on top of another modal (missing scrim guard)
bug(server): sync push always rejected — user_id nil placeholder fails mismatch check
Fix (commit
Fix (commit 7eb1181)
The server's push handler now accepts Uuid::nil() as a valid placeholder and replaces it with the authenticated user's real UUID before the mismatch check:
/…
bug(server): sync push always rejected — user_id nil placeholder fails mismatch check
bug(server): replay upload uses client-supplied recorded_at for leaderboard — allows timestamp spoofing
Fix (commit
Fix (commit 7eb1181)
The leaderboard recorded_at update in replays.rs now uses the server-computed received_at timestamp instead of the client-supplied header.recorded_at:
//…
bug(server): replay upload uses client-supplied recorded_at for leaderboard — allows timestamp spoofing
bug(server): replay upload uses client-supplied recorded_at for leaderboard — allows timestamp spoofing
bug(server): sync push always rejected — user_id nil placeholder fails mismatch check
bug(engine): auto-complete does not block player drag/tap input
bug(challenge): silent no-op when all challenges are completed
bug(engine): auto-complete does not block player drag/tap input
Fix (commit
Fix (commit f444378)
Added an AutoCompleteState early-return guard to three input entry points so no player-initiated move can race with the auto-complete sequence:
start_drag…
bug(challenge): silent no-op when all challenges are completed
Fix (commit
Fix (commit f444378)
Replaced the silent warn! + return with an InfoToastEvent so the player receives clear feedback when all challenges have been completed:
// Before
let…