From 355a2961f0af6fe3eaf54c4305afaf54d045f983 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 4 Dec 2025 16:13:29 +0000 Subject: [PATCH] fix: resolve Tauri build errors for macOS - Replace tauri::async_runtime::sleep with tokio::time::sleep (not available in tauri) - Fix State access using .inner().clone() instead of .cloned().unwrap() - Clone defaults before unwrap_or_else to prevent use after move - Remove unnecessary mut from state variable --- src-tauri/src/lib.rs | 6 +++--- src-tauri/src/tools/mod.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index b7b26cd..7d7ac37 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -9,7 +9,7 @@ mod database_tests; use std::sync::Arc; use std::time::Duration; use tauri::{AppHandle, Manager, State}; -use tauri::async_runtime::sleep; +use tokio::time::sleep; use tokio::sync::Mutex; use database::Database; @@ -114,7 +114,7 @@ async fn update_tool_settings( } // Stage 3: persist settings and recreate container if installed - let mut state = state.lock().await; + let state = state.lock().await; // Update ports if let Some(tool_def) = state.registry.get(&tool_id) { @@ -259,7 +259,7 @@ pub fn run() { app.manage(state); // Start auto-start tools once Docker is reachable - let state_for_autostart = app.state::>>().cloned().unwrap(); + let state_for_autostart = app.state::>>().inner().clone(); tauri::async_runtime::spawn(async move { loop { { diff --git a/src-tauri/src/tools/mod.rs b/src-tauri/src/tools/mod.rs index 70aa3dd..b18910b 100644 --- a/src-tauri/src/tools/mod.rs +++ b/src-tauri/src/tools/mod.rs @@ -192,7 +192,7 @@ impl ToolRegistry { tool_id: &str, defaults: Option, ) -> Result> { - let mut creds = defaults.unwrap_or_else(|| ToolCredentials { + let mut creds = defaults.clone().unwrap_or_else(|| ToolCredentials { username: None, password: None, access_key: None,