Relocate the persistent QConnect device-identity resolution out of the Tauri adapter into the frontend-agnostic qbz-app crate (qbz-app/src/qconnect_identity.rs) so both the Tauri and a future Slint frontend resolve the SAME uuid for the same install. Moved: resolve_qconnect_device_uuid, device_uuid_from_db, load/persist_device_uuid, qconnect_settings_db_path. Byte-identical persistence contract preserved: DB path (<data_dir>/qbz/qconnect_settings.db), the 'device_uuid' key, and the QBZ_QCONNECT_DEVICE_UUID env override are unchanged, so existing installs keep their uuid. The Tauri transport.rs::resolve_qconnect_device_uuid is now a one-line delegate; the device-NAME persistence shares the same DB file via the qbz-app path helper. qbz-app gains a uuid dependency (it already had rusqlite + dirs, so no SQLite dep was added to qconnect-app per R6). The 2 device_uuid tests move to qbz-app. cc
24 lines
632 B
TOML
24 lines
632 B
TOML
[package]
|
|
name = "qbz-app"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
|
|
[dependencies]
|
|
qbz-models = { path = "../qbz-models" }
|
|
qbz-audio = { path = "../qbz-audio" }
|
|
qbz-player = { path = "../qbz-player" }
|
|
qbz-core = { path = "../qbz-core" }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tokio = { workspace = true }
|
|
log = { workspace = true }
|
|
rusqlite = { version = "0.31", features = ["bundled"] }
|
|
dirs = "6"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
chrono = { workspace = true }
|
|
md-5 = { workspace = true }
|
|
base64 = { workspace = true }
|
|
rand = "0.10"
|