summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-12-10 16:17:27 -0500
committerDax Raad <[email protected]>2025-12-10 16:17:36 -0500
commit86f7cc17ae81fd36f3f2fce22439773002f3fd3a (patch)
treea570f622dd3d2615743fab24276aa5b2315c031c
parent58e66dd3d1dfd975195dac916fb4b23093404243 (diff)
downloadopencode-86f7cc17ae81fd36f3f2fce22439773002f3fd3a.tar.gz
opencode-86f7cc17ae81fd36f3f2fce22439773002f3fd3a.zip
tui: pass dynamic port to frontend
Frontend now receives the server port via window.__OPENCODE__.port, allowing it to connect when using a random free port instead of hardcoded 4096
-rw-r--r--packages/desktop/src/app.tsx8
-rw-r--r--packages/tauri/src-tauri/src/lib.rs3
-rw-r--r--packages/tauri/src/index.tsx6
3 files changed, 9 insertions, 8 deletions
diff --git a/packages/desktop/src/app.tsx b/packages/desktop/src/app.tsx
index 0ca4d5e6b..a1ff90d26 100644
--- a/packages/desktop/src/app.tsx
+++ b/packages/desktop/src/app.tsx
@@ -15,8 +15,14 @@ import { GlobalSDKProvider } from "./context/global-sdk"
import { SessionProvider } from "./context/session"
import { Show } from "solid-js"
+declare global {
+ interface Window {
+ __OPENCODE__?: { updaterEnabled?: boolean; port?: number }
+ }
+}
+
const host = import.meta.env.VITE_OPENCODE_SERVER_HOST ?? "127.0.0.1"
-const port = import.meta.env.VITE_OPENCODE_SERVER_PORT ?? "4096"
+const port = window.__OPENCODE__?.port ?? import.meta.env.VITE_OPENCODE_SERVER_PORT ?? "4096"
const url =
new URLSearchParams(document.location.search).get("url") ||
diff --git a/packages/tauri/src-tauri/src/lib.rs b/packages/tauri/src-tauri/src/lib.rs
index d380e3576..d79932574 100644
--- a/packages/tauri/src-tauri/src/lib.rs
+++ b/packages/tauri/src-tauri/src/lib.rs
@@ -175,7 +175,8 @@ pub fn run() {
.initialization_script(format!(
r#"
window.__OPENCODE__ ??= {{}};
- window.__OPENCODE__.updaterEnabled = {updater_enabled}
+ window.__OPENCODE__.updaterEnabled = {updater_enabled};
+ window.__OPENCODE__.port = {port};
"#
));
diff --git a/packages/tauri/src/index.tsx b/packages/tauri/src/index.tsx
index 6b9ce88e0..c72805fe6 100644
--- a/packages/tauri/src/index.tsx
+++ b/packages/tauri/src/index.tsx
@@ -47,12 +47,6 @@ const platform: Platform = {
},
}
-declare global {
- interface Window {
- __OPENCODE__?: { updaterEnabled?: boolean }
- }
-}
-
render(() => {
onMount(() => {
if (window.__OPENCODE__?.updaterEnabled) runUpdater()