diff --git a/apps/desktop/src-tauri/src/rustdesk.rs b/apps/desktop/src-tauri/src/rustdesk.rs index 80558d8..3d03dd5 100644 --- a/apps/desktop/src-tauri/src/rustdesk.rs +++ b/apps/desktop/src-tauri/src/rustdesk.rs @@ -256,14 +256,32 @@ pub fn ensure_rustdesk( let version = query_version(&exe_path).ok().or(installed_version); + let last_provisioned_at = Utc::now().timestamp_millis(); let result = RustdeskProvisioningResult { id: final_id.clone(), password: password.clone(), installed_version: version.clone(), updated: freshly_installed, - last_provisioned_at: Utc::now().timestamp_millis(), + last_provisioned_at, }; + // Salva os dados do RustDesk diretamente no arquivo machine-agent.json + // para evitar conflitos com o Tauri Store do TypeScript + let rustdesk_data = serde_json::json!({ + "id": final_id, + "password": password, + "installedVersion": version, + "updated": freshly_installed, + "lastProvisionedAt": last_provisioned_at, + "lastSyncedAt": serde_json::Value::Null, + "lastError": serde_json::Value::Null + }); + if let Err(error) = upsert_machine_store_value("rustdesk", rustdesk_data) { + log_event(&format!("Aviso: falha ao salvar dados do RustDesk no store: {error}")); + } else { + log_event("Dados do RustDesk salvos no machine-agent.json"); + } + log_event(&format!("Provisionamento concluído. ID final: {final_id}. Versão: {:?}", version)); Ok(result)