3fb516af2bf9e0bfaa5fbb5b58e12e9d777a985b
LanSpreadState now owns its empty initialization through Default. This keeps the root runtime state construction in one place instead of building each Arc<RwLock<_>> value inline before registering it with Tauri. The setup hook now retrieves peer_game_db from the managed state and clones the Arc before spawning async peer initialization. That preserves the existing lifetime boundary while removing the separate outer peer_game_db binding. There is no user-visible behavior change. The peer database, game list, download tracking, games folder, and peer control channel still start empty and are populated through the same setup and command paths. Test Plan: - cargo clippy - cargo clippy --benches - cargo clippy --tests - cargo +nightly fmt Refs: none
lanspread
Description
Simple server and GUI for LAN parties.
Development
Prerequisites
# install Tauri CLI
cargo install tauri-cli
# install Deno with a package manager or from https://deno.land/
Build
Frontend
# Development
cargo tauri dev # prefix with RUST_LOG=your_module=debug or similary for more verbose output
# Production but for testing and without bundling
cargo tauri build --no-bundle
# Production
cargo tauri build -- --profile release-lto # also bundles everything into a nice platform-specific installer
# on wayland you probably need to set this env var
WEBKIT_DISABLE_DMABUF_RENDERER=1
# update frontend dependencies
deno outdated --update --latest
Backend
# Development
./server.sh [options...] # prefix with RUST_LOG=your_module=debug or similary for more verbose output
# Production
cargo build --profile release-lto -p lanspread-server
Description
Languages
Rust
63.8%
TypeScript
12.6%
CSS
8.9%
Python
7.5%
JavaScript
5.9%
Other
1.2%