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
2025-08-27 21:21:01 +02:00
2025-03-02 14:41:08 +01:00
2025-03-02 14:41:08 +01:00

lanspread

Description

Peer-to-peer game library sharing for LAN parties.

  • Peers let users browse and download games from each other
  • they discover each other on the local network via mDNS
  • they exchange library metadata over QUIC

Ships as a Tauri desktop app.

Development

Prerequisites

# install Tauri CLI
cargo install tauri-cli

# install Deno with a package manager or from https://deno.land/

Build or Run

# build
just build

# run
just run
S
Description
No description provided
Readme 152 MiB
Languages
Rust 63.8%
TypeScript 12.6%
CSS 8.9%
Python 7.5%
JavaScript 5.9%
Other 1.2%