fix(desktop): improve server detection & connection logic (#7962)

This commit is contained in:
Brendan Allan
2026-01-12 17:58:13 +08:00
committed by GitHub
parent 087473be6e
commit ebbb4dd88a
5 changed files with 181 additions and 199 deletions

View File

@@ -33,7 +33,7 @@ const Loading = () => <div class="size-full flex items-center justify-center tex
declare global {
interface Window {
__OPENCODE__?: { updaterEnabled?: boolean; port?: number; serverReady?: boolean; serverUrl?: string }
__OPENCODE__?: { updaterEnabled?: boolean; }
}
}
@@ -65,19 +65,18 @@ function ServerKey(props: ParentProps) {
)
}
export function AppInterface() {
const defaultServerUrl = iife(() => {
export function AppInterface(props: { defaultUrl?: string }) {
const defaultServerUrl = () => {
if (props.defaultUrl) return props.defaultUrl;
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}>
<ServerProvider defaultUrl={defaultServerUrl()}>
<ServerKey>
<GlobalSDKProvider>
<GlobalSyncProvider>