diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index ab7c44a3..32ba959d 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -92,7 +92,7 @@ nyaterm-gpu = { path = "crates/nyaterm-gpu" } nyaterm-otp = { path = "crates/otp" } nyaterm-mcp-protocol = { path = "crates/nyaterm-mcp-protocol" } nyaterm-plugin-runtime = { path = "crates/nyaterm-plugin-runtime" } -tauri = { version = "2", features = ["tray-icon", "protocol-asset"] } +tauri = { version = "2", features = ["tray-icon", "protocol-asset", "macos-private-api"] } tauri-plugin-opener = "2" serde = { version = "1", features = ["derive"] } serde_json = { version = "1", features = ["raw_value"] } @@ -205,9 +205,6 @@ tauri-plugin-updater = { version = "2", default-features = false, features = [ tauri-plugin-process = "2" tauri-plugin-single-instance = { version = "2", features = ["deep-link"] } -[target.'cfg(target_os = "macos")'.dependencies] -tauri = { version = "2", features = ["macos-private-api"] } - [target.'cfg(not(windows))'.dependencies] ironrdp = { path = "vendor/ironrdp/crates/ironrdp", default-features = false, features = ["rustls"] } diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 298a37d4..bbcdaa68 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -10,6 +10,7 @@ "frontendDist": "../dist" }, "app": { + "macOSPrivateApi": true, "windows": [ { "label": "main", diff --git a/src/context/AppProvider.tsx b/src/context/AppProvider.tsx index 86ad3a10..9f13f981 100644 --- a/src/context/AppProvider.tsx +++ b/src/context/AppProvider.tsx @@ -1236,7 +1236,7 @@ export function AppProvider({ children }: { children: ReactNode }) { ); useEffect(() => { - if (hasRestored.current || !appSettingsLoaded.current || !lockStateLoaded) return; + if (hasRestored.current || !settingsLoaded || !lockStateLoaded) return; hasRestored.current = true; const primaryWindow = isPrimaryMainWindow(); @@ -1279,7 +1279,14 @@ export function AppProvider({ children }: { children: ReactNode }) { }); } setStartupRestoreComplete(true); - }, [appSettings, isLocked, lockStateLoaded, restoreSessionsForTabs, setActiveTabId]); + }, [ + appSettings, + isLocked, + lockStateLoaded, + restoreSessionsForTabs, + setActiveTabId, + settingsLoaded, + ]); useEffect(() => { if (isLocked) return;