383e8f48551fa394c1d4d5bfc81dacd02c786862
A failed fire-and-forget event left one peer's active call state divergent until some later discovery or reconnect happened. During a LAN party that could leave different players looking at different rosters or chat. Fall back to the existing bidirectional handshake whenever a live Call to Play send fails. Its active-history exchange heals both sides immediately when the failure was transient. Document the related wall-clock synchronization assumption for deadline and countdown presentation. Test Plan: - `just fmt` -- passed - `just clippy` -- passed - `just test` -- passed, 147 peer tests - `just peer-cli-tests S48` -- passed - `git diff --cached --check` -- passed
lanspread
Peer-to-peer game library sharing for LAN parties. Peers discover each other on the local network via mDNS, exchange library metadata over QUIC, and let users browse and download games from each other. Ships as a Tauri desktop app.
Build / install
Install Rust, Deno, and just first, then bootstrap the project:
just setup
That installs the Tauri CLI with cargo install tauri-cli and installs the
Deno/npm dependencies from crates/lanspread-tauri-deno-ts.
Run the desktop app in development mode:
just run
Build without bundling:
just build
Create production bundles:
just bundle
Important just commands
just setup- install the Tauri CLI and frontend dependencies.just run- run the Tauri app in dev mode.just build- build the app without bundling.just bundle- create production bundles.just fmt- format Rust, TOML, and the justfile.just clippy- lint the Rust workspace.just test- run workspace tests.just frontend-test- run frontend tests.just peer-cli-build- build the JSONL peer test harness.just peer-cli-image- build the peer harness Docker image.just peer-cli-run NAME- run one peer harness container.
Languages
Rust
54.5%
JavaScript
15%
TypeScript
11.8%
Python
8.5%
CSS
8.2%
Other
1.9%