summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/server/server.ts20
1 files changed, 7 insertions, 13 deletions
diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts
index 3a480228e..69bd5e3be 100644
--- a/packages/opencode/src/server/server.ts
+++ b/packages/opencode/src/server/server.ts
@@ -53,6 +53,9 @@ globalThis.AI_SDK_LOG_WARNINGS = false
export namespace Server {
const log = Log.create({ service: "server" })
+ // Port that the server is running on, used to inject into frontend HTML
+ let serverPort: number = 4096
+
export const Event = {
Connected: BusEvent.define("server.connected", z.object({})),
Disposed: BusEvent.define("global.disposed", z.object({})),
@@ -2613,24 +2616,15 @@ export namespace Server {
return result
}
- let serverPort: number = 4096
-
export function listen(opts: { port: number; hostname: string }) {
const args = {
hostname: opts.hostname,
idleTimeout: 0,
fetch: App().fetch,
websocket: websocket,
- } as const
- if (opts.port === 0) {
- try {
- serverPort = 4096
- return Bun.serve({ ...args, port: 4096 })
- } catch {
- // port 4096 not available, fall through to use port 0
- }
- }
- serverPort = opts.port
- return Bun.serve({ ...args, port: opts.port })
+ })
+ // Store the actual port for injection into frontend HTML
+ serverPort = server.port ?? opts.port
+ return server
}
}