Alex funman300
  • Joined on 2026-01-25
funman300 commented on issue funman300/Ferrous-Solitaire#73 2026-05-28 21:42:21 +00:00
bug(server): sync push always rejected — user_id nil placeholder fails mismatch check

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:

/
funman300 closed issue funman300/Ferrous-Solitaire#73 2026-05-28 21:42:21 +00:00
bug(server): sync push always rejected — user_id nil placeholder fails mismatch check
funman300 commented on issue funman300/Ferrous-Solitaire#74 2026-05-28 21:42:20 +00:00
bug(server): replay upload uses client-supplied recorded_at for leaderboard — allows timestamp spoofing

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:

//…
funman300 closed issue funman300/Ferrous-Solitaire#74 2026-05-28 21:42:20 +00:00
bug(server): replay upload uses client-supplied recorded_at for leaderboard — allows timestamp spoofing
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-05-28 21:41:32 +00:00
7eb1181e50 fix(server): accept nil user_id placeholder in push; use received_at for leaderboard (#73, #74)
funman300 opened issue funman300/Ferrous-Solitaire#74 2026-05-28 21:36:22 +00:00
bug(server): replay upload uses client-supplied recorded_at for leaderboard — allows timestamp spoofing
funman300 opened issue funman300/Ferrous-Solitaire#73 2026-05-28 21:36:21 +00:00
bug(server): sync push always rejected — user_id nil placeholder fails mismatch check
funman300 closed issue funman300/Ferrous-Solitaire#71 2026-05-28 21:25:32 +00:00
bug(engine): auto-complete does not block player drag/tap input
funman300 closed issue funman300/Ferrous-Solitaire#72 2026-05-28 21:25:31 +00:00
bug(challenge): silent no-op when all challenges are completed
funman300 commented on issue funman300/Ferrous-Solitaire#71 2026-05-28 21:25:14 +00:00
bug(engine): auto-complete does not block player drag/tap input

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

funman300 commented on issue funman300/Ferrous-Solitaire#72 2026-05-28 21:25:14 +00:00
bug(challenge): silent no-op when all challenges are completed

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
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-05-28 21:24:22 +00:00
f444378184 fix(engine): toast on challenge exhaustion, block input during auto-complete (#71, #72)
funman300 opened issue funman300/Ferrous-Solitaire#72 2026-05-28 21:19:07 +00:00
bug(challenge): silent no-op when all challenges are completed
funman300 opened issue funman300/Ferrous-Solitaire#71 2026-05-28 21:19:06 +00:00
bug(engine): auto-complete does not block player drag/tap input
funman300 closed issue funman300/Ferrous-Solitaire#70 2026-05-28 21:05:02 +00:00
Add selectable touch input mode (one-tap auto-move vs. tap-to-select)
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-05-28 21:04:55 +00:00
927598202e feat(engine,data): add tap-to-select touch input mode (#70)
funman300 pushed to deploy at funman300/Ferrous-Solitaire 2026-05-28 20:45:07 +00:00
4c517f4ccd chore(deploy): bump image to 6e407a3e [skip ci]
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-05-28 20:41:14 +00:00
6e407a3ea7 fix(engine,server): safe area clamp, analytics batch, achievement save order, daily rollover, replay validation, leaderboard opt-in (#56, #60, #61, #62, #66, #68)
8cb4c9808e fix(wasm,stats): surface replay errors to JS, deduplicate win events per frame (#65, #69)
dbe728fef7 refactor(engine): deduplicate TABLEAU_FAN_FRAC constant (#59)
0437c36463 fix(assets,theme): remove assert in svg_loader, log theme failures, fix default theme id (#58, #63, #64)
35fde160fa fix(ui): add modal guard to profile, make modal dimensions responsive (#57, #67)
Compare 7 commits »
funman300 closed issue funman300/Ferrous-Solitaire#56 2026-05-28 20:26:37 +00:00
bug(achievements): XP granted before persistence confirmed — reward lost on crash
funman300 closed issue funman300/Ferrous-Solitaire#60 2026-05-28 20:26:37 +00:00
bug(daily-challenge): stale date cache when app runs past midnight