diff options
| author | Dax Raad <[email protected]> | 2025-11-04 12:33:03 -0500 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-11-04 12:33:14 -0500 |
| commit | bc6f4aed2bfb662d24a28b1cfe927a3e8af637bf (patch) | |
| tree | 309887906033508c991544edd56e11019c949cc5 /packages | |
| parent | 2af3f19397b83badd59fcbbb5fff1657d344bf10 (diff) | |
| download | opencode-bc6f4aed2bfb662d24a28b1cfe927a3e8af637bf.tar.gz opencode-bc6f4aed2bfb662d24a28b1cfe927a3e8af637bf.zip | |
local web
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/desktop/src/index.tsx | 4 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/app.tsx | 1 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx | 2 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/web.ts | 9 | ||||
| -rw-r--r-- | packages/opencode/src/server/server.ts | 11 |
5 files changed, 21 insertions, 6 deletions
diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx index 0d631a5a0..9fe5da2f6 100644 --- a/packages/desktop/src/index.tsx +++ b/packages/desktop/src/index.tsx @@ -12,7 +12,9 @@ import Home from "@/pages" const host = import.meta.env.VITE_OPENCODE_SERVER_HOST ?? "127.0.0.1" const port = import.meta.env.VITE_OPENCODE_SERVER_PORT ?? "4096" -const url = new URLSearchParams(document.location.search).get("url") || `http://${host}:${port}` +const url = + new URLSearchParams(document.location.search).get("url") || + (location.hostname.includes("opencode.ai") ? `http://${host}:${port}` : "/") const root = document.getElementById("root") if (import.meta.env.DEV && !(root instanceof HTMLElement)) { diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 7938ec86f..e57ef8cd6 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -358,6 +358,7 @@ function App() { event.on(SessionApi.Event.Deleted.type, (evt) => { if (route.data.type === "session" && route.data.sessionID === evt.properties.info.id) { + dialog.clear() route.navigate({ type: "home" }) toast.show({ variant: "info", diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx index 31b1c2b5c..4a720aa15 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx @@ -72,7 +72,7 @@ export function DialogSessionList() { }, }) setToDelete(undefined) - dialog.clear() + // dialog.clear() return } setToDelete(option.value) diff --git a/packages/opencode/src/cli/cmd/web.ts b/packages/opencode/src/cli/cmd/web.ts index 4823414f7..8fc8a9915 100644 --- a/packages/opencode/src/cli/cmd/web.ts +++ b/packages/opencode/src/cli/cmd/web.ts @@ -26,12 +26,15 @@ export const WebCommand = cmd({ port, hostname, }) - const url = `https://desktop.dev.opencode.ai?url=${server.url}` UI.empty() UI.println(UI.logo(" ")) UI.empty() - UI.println(UI.Style.TEXT_INFO_BOLD + " Web interface: ", UI.Style.TEXT_NORMAL, url) - open(url).catch(() => {}) + UI.println( + UI.Style.TEXT_INFO_BOLD + " Web interface: ", + UI.Style.TEXT_NORMAL, + server.url.toString(), + ) + open(server.url.toString()).catch(() => {}) await new Promise(() => {}) await server.stop() }, diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts index 919d68287..68c61453a 100644 --- a/packages/opencode/src/server/server.ts +++ b/packages/opencode/src/server/server.ts @@ -10,6 +10,7 @@ import { import { Hono } from "hono" import { cors } from "hono/cors" import { stream, streamSSE } from "hono/streaming" +import { proxy } from "hono/proxy" import { Session } from "../session" import z from "zod" import { Provider } from "../provider/provider" @@ -1696,7 +1697,15 @@ export namespace Server { }) }) }, - ), + ) + .all("/*", async (c) => { + return proxy(`https://desktop.dev.opencode.ai${c.req.path}`, { + ...c.req, + headers: { + host: "desktop.dev.opencode.ai", + }, + }) + }), ) export async function openapi() { |
