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
41 lines
1.2 KiB
TOML
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"]
|