From fcd45ff0340559843dd23bc6ca846d545609156d Mon Sep 17 00:00:00 2001 From: Esdras Renan Date: Thu, 9 Oct 2025 23:27:37 -0300 Subject: [PATCH] fix(desktop): remove @tauri-apps/plugin-keyring npm usage; fallback to Store for token on Windows; drop Rust keyring plugin to simplify install --- apps/desktop/package.json | 1 - apps/desktop/src-tauri/Cargo.toml | 1 - apps/desktop/src-tauri/src/lib.rs | 2 -- apps/desktop/src/main.ts | 26 +++++++++----------------- 4 files changed, 9 insertions(+), 21 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 58f4e73..ea65d0b 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -11,7 +11,6 @@ }, "dependencies": { "@tauri-apps/api": "^2", - "@tauri-apps/plugin-keyring": "^2", "@tauri-apps/plugin-opener": "^2", "@tauri-apps/plugin-store": "^2" }, diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index 4f734c6..c78a41d 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -21,7 +21,6 @@ tauri-build = { version = "2", features = [] } tauri = { version = "2", features = ["wry"] } tauri-plugin-opener = "2" tauri-plugin-store = "2.4" -tauri-plugin-keyring = "0.1" serde = { version = "1", features = ["derive"] } serde_json = "1" sysinfo = { version = "0.31", default-features = false, features = ["multithread", "network", "system", "disk"] } diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 25ce5c4..d3cf938 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -2,7 +2,6 @@ mod agent; use agent::{collect_inventory_plain, collect_profile, AgentRuntime, MachineProfile}; use tauri_plugin_store::Builder as StorePluginBuilder; -use tauri_plugin_keyring as keyring; #[tauri::command] fn collect_machine_profile() -> Result { @@ -39,7 +38,6 @@ pub fn run() { .manage(AgentRuntime::new()) .plugin(tauri_plugin_opener::init()) .plugin(StorePluginBuilder::default().build()) - .plugin(keyring::init()) .invoke_handler(tauri::generate_handler![ collect_machine_profile, collect_machine_inventory, diff --git a/apps/desktop/src/main.ts b/apps/desktop/src/main.ts index dfca100..c5dafef 100644 --- a/apps/desktop/src/main.ts +++ b/apps/desktop/src/main.ts @@ -1,6 +1,5 @@ import { invoke } from "@tauri-apps/api/core" import { Store } from "@tauri-apps/plugin-store" -import { getPassword, setPassword, deletePassword } from "@tauri-apps/plugin-keyring" type MachineOs = { name: string @@ -115,9 +114,6 @@ function setStatus(message: string) { let storeInstance: Store | null = null -const KEYRING_SERVICE = "sistema-de-chamados" -const KEYRING_ACCOUNT = "machine-token" - async function ensureStoreLoaded(): Promise { if (!storeInstance) { try { @@ -152,24 +148,20 @@ async function clearConfig() { const store = await ensureStoreLoaded() await store.delete("config") await store.save() - try { - await deletePassword({ service: KEYRING_SERVICE, account: KEYRING_ACCOUNT }) - } catch { - // ignore - } + await store.delete("token"); + await store.save() } async function getMachineToken(): Promise { - try { - const token = await getPassword({ service: KEYRING_SERVICE, account: KEYRING_ACCOUNT }) - return token && token.length > 0 ? token : null - } catch { - return null - } + const store = await ensureStoreLoaded() + const token = await store.get("token") + return token ?? null } async function setMachineToken(token: string) { - await setPassword({ service: KEYRING_SERVICE, account: KEYRING_ACCOUNT, password: token }) + const store = await ensureStoreLoaded() + await store.set("token", token) + await store.save() } async function collectMachineProfile(): Promise { @@ -618,7 +610,7 @@ async function handleRegister(profile: MachineProfile, form: HTMLFormElement) { } const data = (await response.json()) as MachineRegisterResponse - // Guarda token com segurança no Keyring + // Guarda token localmente (Store). Em produção, podemos trocar por keyring do SO. await setMachineToken(data.machineToken) const config: AgentConfig = { machineId: data.machineId,