onyx-tasks/apps/tauri/src-tauri/Cargo.toml
Tristan Michael 192b449e87 Add tauri-plugin-credentials for cross-platform credential storage
Create a Tauri v2 plugin that uses EncryptedSharedPreferences (Android Keystore)
on Android and the system keychain (keyring crate) on desktop. This replaces
the direct onyx-core keyring calls in the Tauri app, which failed on Android
because keyring-storage was feature-gated to desktop only.

- New plugin crate at apps/tauri/tauri-plugin-credentials/ with Kotlin Android
  code and Rust desktop fallback
- Update all Tauri credential commands to use the plugin API
- Add security-crypto dependency for Android and ProGuard rule for Tink
- Remove onyx-core/keyring-storage dependency from Tauri app features
2026-04-05 17:29:51 -07:00

41 lines
1.2 KiB
TOML

[package]
name = "onyx-tasks"
version = "0.1.0"
edition = "2021"
description = "Tauri v2 desktop GUI for Onyx"
license = "GPL-3.0-or-later"
repository = "https://github.com/SteelDynamite/onyx"
[[bin]]
name = "onyx-standalone"
path = "src/main.rs"
[lib]
name = "onyx_tasks_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
tauri = { version = "2", features = [] }
tauri-plugin-dialog = "2"
tauri-plugin-os = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
onyx-core = { path = "../../../crates/onyx-core", default-features = false }
tauri-plugin-credentials = { path = "../tauri-plugin-credentials", default-features = false }
tokio = { version = "1", features = ["full"] }
futures = "0.3"
uuid = { version = "1", features = ["serde", "v4"] }
chrono = { version = "0.4", features = ["serde"] }
notify = { version = "7", optional = true }
notify-debouncer-mini = { version = "0.5", optional = true }
[package.metadata.tauri]
[features]
default = ["desktop"]
desktop = ["notify", "notify-debouncer-mini", "tauri-plugin-credentials/desktop"]
custom-protocol = ["tauri/custom-protocol"]