ddidderr b7df2de6a5 fix(download): emit failure events on early-returns and update UI transition
Address backend early-return paths that were silently exiting without emitting a
terminal event to the UI, and align the UI transition to "Downloading" with the
actual start of the chunk transfer.

- Added `DownloadGameFilesFailed` event emissions to `handlers.rs` in the
  unhandled early-return branches (when resolved file descriptions are empty or
  when no trusted peers are found without a local copy). This prevents the UI
  from getting stuck in a checking state.
- Updated the frontend `'game-download-pre'` listener to keep the status in
  `CheckingPeers` during peer majority size validation, and let the UI switch
  to `Downloading` only upon `'game-download-begin'`.
- Added clarifying comments explaining the safety and semantic roles of both
  listeners.

Test Plan:
- Run all unit tests to ensure no regressions: `just test`
- Compile and build the Tauri project: `just build`
2026-05-19 22:59:36 +02:00
2025-08-27 21:21:01 +02:00
2026-05-17 07:54:12 +02:00
2026-05-17 23:16:42 +02:00
2026-05-18 16:19:27 +02:00
2026-05-17 07:54:12 +02:00
2026-05-18 16:19:27 +02: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

# 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
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%