40697a73e5
NEXT_STEPS item 1 called out that streamed install was still CLI-only because the Tauri app started the peer with no stream provider. Users can now choose an explicit "Low disk install" action from the game detail modal for remote-only games instead of taking the default archive-preserving download path. The GUI command queues a normal peer detail fetch first so the peer database has the file metadata needed for source validation. A small pending handoff in Tauri routes the resulting GotGameFiles event into StreamInstallGame instead of DownloadGameFiles, and clears that pending state on no-peer or download failure events. This keeps the existing download continuation untouched for the default action. The external unrar stream provider moved from the CLI harness into lanspread-peer so CLI and Tauri use the same implementation. Tauri resolves the bundled unrar sidecar path and injects that provider at peer startup; falling back to the noop provider keeps peer startup alive if the sidecar cannot be resolved, while the streamed install operation still fails safely. Test Plan: - just fmt - just test - just frontend-test - just clippy - just build - git diff --check Refs: NEXT_STEPS.md item 1
31 lines
601 B
TOML
31 lines
601 B
TOML
[package]
|
|
name = "lanspread-peer-cli"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[[bin]]
|
|
name = "lanspread-peer-cli"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
lanspread-compat = { path = "../lanspread-compat" }
|
|
lanspread-db = { path = "../lanspread-db" }
|
|
lanspread-peer = { path = "../lanspread-peer" }
|
|
|
|
eyre = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tokio = { workspace = true }
|
|
|
|
[lints.clippy]
|
|
needless_pass_by_value = "allow"
|
|
pedantic = { level = "warn", priority = -1 }
|
|
todo = "warn"
|
|
unwrap_used = "warn"
|
|
|
|
[lints.rust]
|
|
unsafe_code = "forbid"
|