فهرست منبع

app: resolve defaultServerUrl inside AppInterface

The desktop app sometimes modified __OPENCODE__.serverUrl after the
window is created. Previously this was ignored since defaultServerUrl
was created at module scope, now it isn't created until desktop's
ensure_server_started query complete, after which point serverUrl is
guaranteed to be updated.
Brendan Allan 1 ماه پیش
والد
کامیت
e0eb460fc8
1فایلهای تغییر یافته به همراه10 افزوده شده و 10 حذف شده
  1. 10 10
      packages/app/src/app.tsx

+ 10 - 10
packages/app/src/app.tsx

@@ -37,16 +37,6 @@ declare global {
   }
 }
 
-const defaultServerUrl = iife(() => {
-  if (location.hostname.includes("opencode.ai")) return "http://localhost:4096"
-  if (window.__OPENCODE__?.serverUrl) return window.__OPENCODE__.serverUrl
-  if (window.__OPENCODE__?.port) return `http://127.0.0.1:${window.__OPENCODE__.port}`
-  if (import.meta.env.DEV)
-    return `http://${import.meta.env.VITE_OPENCODE_SERVER_HOST ?? "localhost"}:${import.meta.env.VITE_OPENCODE_SERVER_PORT ?? "4096"}`
-
-  return window.location.origin
-})
-
 export function AppBaseProviders(props: ParentProps) {
   return (
     <MetaProvider>
@@ -76,6 +66,16 @@ function ServerKey(props: ParentProps) {
 }
 
 export function AppInterface() {
+  const defaultServerUrl = iife(() => {
+    if (location.hostname.includes("opencode.ai")) return "http://localhost:4096"
+    if (window.__OPENCODE__?.serverUrl) return window.__OPENCODE__.serverUrl
+    if (window.__OPENCODE__?.port) return `http://127.0.0.1:${window.__OPENCODE__.port}`
+    if (import.meta.env.DEV)
+      return `http://${import.meta.env.VITE_OPENCODE_SERVER_HOST ?? "localhost"}:${import.meta.env.VITE_OPENCODE_SERVER_PORT ?? "4096"}`
+
+    return window.location.origin
+  })
+
   return (
     <ServerProvider defaultUrl={defaultServerUrl}>
       <ServerKey>