Implement the launcher design as a production peer-to-peer feature. Call to Play actions are immutable, validated events broadcast over the existing QUIC control channel, deduplicated in a bounded in-memory history, and exchanged in Hello/HelloAck so late joiners reconstruct current calls. Add the Tauri bridge and modular launcher surfaces for play-now and scheduled calls, check-in, readiness buffers, role-aware controls, chat, tickers, and actual caller launch. A deterministic frontend reducer derives presentation state from replicated history. Extend the JSONL peer harness with publish/list commands and a three-peer live-delivery and late-join scenario. This intentionally raises the only supported wire protocol from version 5 to version 6; older builds are not supported. Document the transport architecture and exclude generated peer-test state from Docker build contexts. Test Plan: - `just fmt` -- passed - `just clippy` -- passed - `just test` -- passed - `just frontend-test` -- passed, 20 tests - `just build` -- passed - `just peer-cli-tests S2 S48` -- passed - `git diff --cached --check` -- passed
55 lines
1.5 KiB
TOML
55 lines
1.5 KiB
TOML
[package]
|
|
name = "lanspread-tauri-deno-ts"
|
|
version = "0.1.0"
|
|
description = "A Tauri App"
|
|
authors = ["you"]
|
|
edition = "2024"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib", "staticlib"]
|
|
doctest = false
|
|
# The `_lib` suffix may seem redundant but it is necessary
|
|
# to make the lib name unique and wouldn't conflict with the bin name.
|
|
# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519
|
|
name = "lanspread_tauri_deno_ts_lib"
|
|
test = true
|
|
|
|
[dependencies]
|
|
lanspread-compat = { path = "../../lanspread-compat" }
|
|
lanspread-db = { path = "../../lanspread-db" }
|
|
# local
|
|
lanspread-peer = { path = "../../lanspread-peer" }
|
|
|
|
# external
|
|
base64 = { workspace = true }
|
|
eyre = { workspace = true }
|
|
log = { workspace = true }
|
|
mimalloc = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tauri = { workspace = true }
|
|
tauri-plugin-dialog = { workspace = true }
|
|
tauri-plugin-shell = { workspace = true }
|
|
tauri-plugin-store = { workspace = true }
|
|
time = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tokio-util = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-log = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
walkdir = { workspace = true }
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
windows = { workspace = true }
|
|
|
|
[lints.clippy]
|
|
needless_pass_by_value = "allow"
|
|
pedantic = { level = "warn", priority = -1 }
|
|
todo = "warn"
|
|
unwrap_used = "warn"
|