diff --git a/packages/desktop/src-tauri/Cargo.lock b/packages/desktop/src-tauri/Cargo.lock index f04ab7a8..566781ce 100644 --- a/packages/desktop/src-tauri/Cargo.lock +++ b/packages/desktop/src-tauri/Cargo.lock @@ -2847,7 +2847,7 @@ dependencies = [ [[package]] name = "openchamber-desktop" -version = "1.0.3" +version = "1.0.4" dependencies = [ "anyhow", "axum", diff --git a/packages/desktop/src/main.tsx b/packages/desktop/src/main.tsx index c2d7e55c..5ee7b46e 100644 --- a/packages/desktop/src/main.tsx +++ b/packages/desktop/src/main.tsx @@ -237,14 +237,24 @@ if (typeof window !== 'undefined') { }); } -const runtimeReady = new Promise((resolve) => { - listen('openchamber:runtime-ready', () => { - console.info('[main] Runtime ready event received'); - resolve(); - }); -}); +const checkRuntimeReady = async (): Promise => { + try { + await invoke('desktop_server_info'); + return true; + } catch { + return false; + } +}; -await runtimeReady; +const alreadyReady = await checkRuntimeReady(); +if (!alreadyReady) { + await new Promise((resolve) => { + listen('openchamber:runtime-ready', () => { + console.info('[main] Runtime ready event received'); + resolve(); + }); + }); +} try { await import('@openchamber/ui/main');