|
|
@@ -14,7 +14,7 @@ import { GlobalSyncProvider } from "@/context/global-sync"
|
|
|
import { PermissionProvider } from "@/context/permission"
|
|
|
import { LayoutProvider } from "@/context/layout"
|
|
|
import { GlobalSDKProvider } from "@/context/global-sdk"
|
|
|
-import { ServerProvider, useServer } from "@/context/server"
|
|
|
+import { normalizeServerUrl, ServerProvider, useServer } from "@/context/server"
|
|
|
import { SettingsProvider } from "@/context/settings"
|
|
|
import { TerminalProvider } from "@/context/terminal"
|
|
|
import { PromptProvider } from "@/context/prompt"
|
|
|
@@ -85,8 +85,19 @@ function ServerKey(props: ParentProps) {
|
|
|
}
|
|
|
|
|
|
export function AppInterface(props: { defaultUrl?: string }) {
|
|
|
+ const platform = usePlatform()
|
|
|
+
|
|
|
+ const stored = (() => {
|
|
|
+ if (platform.platform !== "web") return
|
|
|
+ const result = platform.getDefaultServerUrl?.()
|
|
|
+ if (result instanceof Promise) return
|
|
|
+ if (!result) return
|
|
|
+ return normalizeServerUrl(result)
|
|
|
+ })()
|
|
|
+
|
|
|
const defaultServerUrl = () => {
|
|
|
if (props.defaultUrl) return props.defaultUrl
|
|
|
+ if (stored) return stored
|
|
|
if (location.hostname.includes("opencode.ai")) return "http://localhost:4096"
|
|
|
if (import.meta.env.DEV)
|
|
|
return `http://${import.meta.env.VITE_OPENCODE_SERVER_HOST ?? "localhost"}:${import.meta.env.VITE_OPENCODE_SERVER_PORT ?? "4096"}`
|