Files
qbz/src-tauri/Cargo.toml
T
vicrodh 6eed045404 feat(auth): add secure credential persistence using system keyring
- Add keyring crate for secure credential storage (KWallet/GNOME Keyring)
- Create credentials module with save/load/clear functions
- Add auto_login command that uses saved credentials
- Add "Remember me" checkbox to login form (default: checked)
- Auto-login on app startup if credentials are saved
- Clear credentials from keyring on logout
- Show dynamic status during initialization (connecting, checking, logging in)
2026-01-09 14:37:49 -06:00

76 lines
1.4 KiB
TOML

[package]
name = "qbz-nix"
version = "0.1.0"
description = "Native Qobuz client for Linux with Hi-Fi audio support"
authors = ["blitzkriegfc"]
edition = "2021"
[lib]
name = "qbz_nix_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
# Tauri
tauri = { version = "2", features = [] }
tauri-plugin-opener = "2"
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# HTTP Client
reqwest = { version = "0.12", features = ["json", "cookies", "rustls-tls"], default-features = false }
# Async Runtime
tokio = { version = "1", features = ["full"] }
# Crypto (for API signatures)
md-5 = "0.10"
base64 = "0.22"
# Regex (for bundle parsing)
regex = "1"
# Time
chrono = "0.4"
# Error handling
thiserror = "2"
anyhow = "1"
# Logging
log = "0.4"
env_logger = "0.11"
# Audio playback
rodio = { version = "0.19", features = ["symphonia-all"] }
symphonia = { version = "0.5", features = ["all"] }
# Media controls (MPRIS on Linux)
souvlaki = "0.7"
# Desktop notifications
notify-rust = "4"
# URL opening
open = "5"
# Local library
walkdir = "2"
lofty = "0.18"
rusqlite = { version = "0.31", features = ["bundled"] }
dirs = "5"
tauri-plugin-dialog = { version = "2.5.0", default-features = false, features = ["xdg-portal"] }
# URL encoding
urlencoding = "2"
# Environment variables
dotenvy = "0.15"
# Secure credential storage (system keyring)
keyring = "3"