perf(desktop): reduce CPU/GPU overhead in Tauri shell
- SSH monitor: adaptive polling 2s→10s after stabilization, cheap TCP probe before expensive SSH subprocess check - SSH setup: exponential backoff in wait_for_master_ready and wait_local_forward_ready (250ms→2s cap) - Health checks: exponential backoff (100ms→1s / 250ms→2s) instead of flat intervals - Startup recovery poll: cap at 15 retries instead of infinite - Remove webview log target in release builds (eliminates IPC overhead) - Set global NO_PROXY env var at startup for all loopback addresses - Remove reqwest::blocking feature; use raw TCP for sidecar shutdown and SSH health checks - Disable pinch-to-zoom on macOS via WKWebView.setAllowsMagnification - Add WebView2 browser args on Windows (proxy bypass + disable unused UI features) - Add Cargo release profile: thin LTO, codegen-units=1, strip - Extract apply_platform_window_config for consistent window setup - Add vibrancy toggle in Appearance settings (macOS desktop only) with solid background fallback when disabled
This commit is contained in:
@@ -277,6 +277,8 @@ function App({ apis }: AppProps) {
|
||||
if (providersCount > 0 && agentsCount > 0) return;
|
||||
|
||||
let active = true;
|
||||
let retries = 0;
|
||||
const MAX_RETRIES = 15;
|
||||
const attempt = async () => {
|
||||
const state = useConfigStore.getState();
|
||||
if (state.providers.length > 0 && state.agents.length > 0) return;
|
||||
@@ -287,7 +289,11 @@ function App({ apis }: AppProps) {
|
||||
};
|
||||
|
||||
void attempt();
|
||||
const id = setInterval(() => { if (active) void attempt(); }, 2000);
|
||||
const id = setInterval(() => {
|
||||
if (!active) return;
|
||||
if (++retries >= MAX_RETRIES) { clearInterval(id); return; }
|
||||
void attempt();
|
||||
}, 2000);
|
||||
return () => { active = false; clearInterval(id); };
|
||||
}, [isConnected, isVSCodeRuntime, loadAgents, loadProviders, providersCount, agentsCount]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user