refactor(peer): split local library and operation UI events
Replace the `a9f9845` local-update dedup cache with explicit peer event semantics. Local scans now emit `LocalLibraryChanged` when the library changes, while operation mutations emit `ActiveOperationsChanged` from the mutation path. Tauri keeps joining those facts into the existing `games-list-updated` payload, so the frontend contract stays stable. This removes the cache/invalidation coupling between scan emission and operation state. The remaining forced local snapshot is explicit: accepted game directory changes can refresh the UI for an equivalent new path without sending a peer library delta. Operation guard cleanup and liveness cancellation now publish the same active operation snapshot as normal command-handler transitions. The peer CLI JSONL events follow the same split with `local-library-changed` and `active-operations-changed`. Test Plan: - `just fmt` - `CARGO_BUILD_RUSTC_WRAPPER= just test` - `CARGO_BUILD_RUSTC_WRAPPER= just clippy` - `git diff --check` Refs: CLEAN_CODE_PLAN_1.md
This commit is contained in:
+1
-1
@@ -32,5 +32,5 @@
|
||||
rendering follows backend state instead of reverse-engineering it from
|
||||
`installed && !downloaded`.
|
||||
- Removed Tauri's parallel whole-library filesystem scan. The UI database keeps
|
||||
bundled catalog metadata, while peer `LocalGamesUpdated` snapshots now own
|
||||
bundled catalog metadata, while peer `LocalLibraryChanged` snapshots now own
|
||||
`downloaded`, `installed`, `local_version`, and `availability`.
|
||||
|
||||
Reference in New Issue
Block a user