From 3620bd1dc29d1bd6b019fff4cb036e71fceee006 Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Sun, 7 Dec 2025 21:43:46 +0200 Subject: [PATCH] fix: improve runtime readiness check --- packages/desktop/src-tauri/Cargo.lock | 2 +- packages/desktop/src/main.tsx | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) 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');