summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/entry.tsx
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-02-18 23:03:24 +0800
committerGitHub <[email protected]>2026-02-18 23:03:24 +0800
commit1bb8574179bbf7c49a34ad0e5df522a752af08c2 (patch)
treed10e2ec54cc027dc8ffd76bb40031300f9eaeef8 /packages/app/src/entry.tsx
parent2611c35acc3dc64582e15ad1efca36c60a2883a8 (diff)
downloadopencode-1bb8574179bbf7c49a34ad0e5df522a752af08c2.tar.gz
opencode-1bb8574179bbf7c49a34ad0e5df522a752af08c2.zip
app: refactor server management backend (#13813)
Diffstat (limited to 'packages/app/src/entry.tsx')
-rw-r--r--packages/app/src/entry.tsx17
1 files changed, 15 insertions, 2 deletions
diff --git a/packages/app/src/entry.tsx b/packages/app/src/entry.tsx
index 3a85086b4..82e4fc0eb 100644
--- a/packages/app/src/entry.tsx
+++ b/packages/app/src/entry.tsx
@@ -1,11 +1,14 @@
// @refresh reload
+
+import { iife } from "@opencode-ai/util/iife"
import { render } from "solid-js/web"
import { AppBaseProviders, AppInterface } from "@/app"
-import { Platform, PlatformProvider } from "@/context/platform"
+import { type Platform, PlatformProvider } from "@/context/platform"
import { dict as en } from "@/i18n/en"
import { dict as zh } from "@/i18n/zh"
import { handleNotificationClick } from "@/utils/notification-click"
import pkg from "../package.json"
+import { ServerConnection } from "./context/server"
const DEFAULT_SERVER_URL_KEY = "opencode.settings.dat:defaultServerUrl"
@@ -107,12 +110,22 @@ const platform: Platform = {
setDefaultServerUrl: writeDefaultServerUrl,
}
+const defaultUrl = iife(() => {
+ const lsDefault = readDefaultServerUrl()
+ if (lsDefault) return lsDefault
+ 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"}`
+ return location.origin
+})
+
if (root instanceof HTMLElement) {
+ const server: ServerConnection.Http = { type: "http", http: { url: defaultUrl } }
render(
() => (
<PlatformProvider value={platform}>
<AppBaseProviders>
- <AppInterface />
+ <AppInterface defaultServer={ServerConnection.key(server)} servers={[server]} />
</AppBaseProviders>
</PlatformProvider>
),