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:
Bohdan Triapitsyn
2026-04-01 11:54:35 +03:00
parent 14fc741cc9
commit c38e00bd85
10 changed files with 355 additions and 76 deletions
+17
View File
@@ -147,6 +147,8 @@ export type DesktopSettings = {
skillCatalogs?: SkillCatalogConfig[];
// Opt-in to send anonymous usage reports for update checks (default: true)
reportUsage?: boolean;
// macOS window vibrancy effect (default: true)
desktopVibrancy?: boolean;
};
type TauriGlobal = {
@@ -637,3 +639,18 @@ export const clearDesktopCache = async (): Promise<boolean> => {
return false;
}
};
export const desktopSetVibrancy = async (enabled: boolean): Promise<boolean> => {
if (!isTauriShell()) {
return false;
}
try {
const tauri = (window as unknown as { __TAURI__?: TauriGlobal }).__TAURI__;
await tauri?.core?.invoke?.('desktop_set_vibrancy', { enabled });
return true;
} catch (error) {
console.warn('Failed to set vibrancy', error);
return false;
}
};