47ef87748f755b4e3223f0dcb6b870cf363aae0e
Remote aggregation now filters to catalog-version roots, but the checked-in peer-cli fixtures and skew scenarios still stamped synthetic future versions. That hid fixture rows in S3 and left scenario docs asserting latest-version behavior. Teach the harness the catalog versions for fixture game IDs, stamp generated fixtures with catalog versions by default, and update skew, mesh, propagation, and throughput scenarios to expect only catalog-version peers. Also wire S38 into the executable matrix so the documented first-play launch-setting scenario is covered by the same full run as S1-S47. This keeps stale peers as negative coverage: they are absent from list-games and cannot provide descriptors, votes, or chunks. The fixture version.ini updates are checked in so alpha, bravo, charlie, and persona roots advertise downloadable catalog games again. Test Plan: - python3 -m py_compile crates/lanspread-peer-cli/scripts/run_extended_scenarios.py - python3 crates/lanspread-peer-cli/scripts/run_extended_scenarios.py \ S3 S8 S14 S15 S16 S17 S21 S22 S23 S24 S29 S30 S31 S34 S36 S37 \ S39 S40 S41 S42 S43 S44 S45 S46 S47 --build-image - python3 crates/lanspread-peer-cli/scripts/run_extended_scenarios.py S38 - python3 crates/lanspread-peer-cli/scripts/run_extended_scenarios.py - git diff --check - git diff --cached --check Docs: PEER_CLI_SCENARIOS.md
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.
Description
Languages
Rust
64.6%
TypeScript
12.9%
Python
8.9%
CSS
7.6%
JavaScript
4.9%
Other
1%