Commit Graph

15 Commits

Author SHA1 Message Date
ddidderr 95e70ef520 fix(ui): reconcile active operations from local scans
Local operation spinners were driven by begin, finish, and failure event
history. If one of those lifecycle events was missed, the Tauri bridge could
keep a stale active operation and the React state would keep showing an
in-progress spinner until restart.

Peer local scan updates now carry an authoritative active-operation snapshot.
The peer still suppresses active game roots from peer-facing library deltas,
but it emits LocalGamesUpdated to the UI even when no library delta changed so
the snapshot can clear stale state after rollback or completion. The Tauri
bridge replaces its active-operation map from that snapshot, emits it with the
games-list payload, and the React merge uses it to restore download, install,
update, and uninstall spinners from current peer state rather than event
history alone.

This also enables the Tauri lib unit-test target so the reconciliation helper
can stay covered by the workspace test recipe.

Test Plan:
- git diff --check
- just fmt
- just clippy
- just test

Follow-up-Plan: FOLLOW_UP_2.md
2026-05-16 09:01:17 +02:00
ddidderr b4585b663a ChatGPT Codex 5.5 xhigh refactored even more 2026-05-02 15:31:37 +02:00
ddidderr 25bac734e2 unsafe 2025-11-14 11:32:56 +01:00
ddidderr 833c8afedf game thumbnails 2025-11-14 09:03:05 +01:00
ddidderr 567d293455 game sizes? 2025-11-14 08:12:09 +01:00
ddidderr 0f4e40383b load game.db 2025-11-12 22:56:59 +01:00
ddidderr 9c1b94fa6a wip 2025-11-11 21:30:26 +01:00
ddidderr 3b19cb8b18 clippy: apply and fix new lints 2025-08-17 16:35:54 +02:00
ddidderr 61a41c7122 clippy: add same lints to all crates 2025-08-17 16:12:42 +02:00
ddidderr b8329bd0b1 [feat] use mimalloc 2025-07-11 13:13:14 +02:00
ddidderr 78f7ff2405 [wip] use windows crate to run as admin 2025-03-20 20:57:32 +01:00
ddidderr b21091c247 [code] edition 2024 2025-03-02 13:05:01 +01:00
ddidderr d1eb185498 [deps] move all deps into main toml and update 2024-12-03 20:49:13 +01:00
ddidderr 942eb8003e [improve] set game dir on client -> updates Play/Install button based on games existing 2024-11-14 19:41:55 +01:00
ddidderr 5d45c4ce4b [ui] change framework from Tauri Leptos to Tauri Vanilla (Typescript) and React 2024-11-13 22:15:04 +01:00