f89ff9ceea8cfd892fda8f1c9cfddc394b6da38d
Cancelled outbound transfers previously returned from the streaming loop without terminating the QUIC send half. A whole-file receiver relies on the stream ending to distinguish EOF from an in-progress body, so cancellation could leave it waiting on a truncated transfer until its own timeout fired. Reset the send stream on every cancellation branch, including cancellation while waiting for the final close acknowledgement. A reset is deliberately used instead of a graceful close so truncated whole-file transfers cannot be misinterpreted as a valid EOF. Test Plan: - just test - just clippy - git diff --check Refs: Claude review finding #1
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
# test
just test
Scripted peer harness
crates/lanspread-peer-cli runs the peer runtime without the GUI and speaks
JSONL on stdin/stdout. It is intended for automated multi-peer smoke tests.
just peer-cli-build
just peer-cli-image
just peer-cli-run alpha
Description
Languages
Rust
64.6%
TypeScript
12.9%
Python
8.9%
CSS
7.6%
JavaScript
4.9%
Other
1%