From 075fa2c0e81eb6497b78c91e008f0ac1396f369b Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 9 Jan 2026 18:26:32 -0600 Subject: [PATCH] fix: instance dispose issue --- packages/opencode/src/cli/cmd/tui/thread.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/thread.ts b/packages/opencode/src/cli/cmd/tui/thread.ts index b9654d339..5e50d38de 100644 --- a/packages/opencode/src/cli/cmd/tui/thread.ts +++ b/packages/opencode/src/cli/cmd/tui/thread.ts @@ -34,9 +34,15 @@ function createWorkerFetch(client: RpcClient): typeof fetch { return fn as typeof fetch } -function createEventSource(client: RpcClient): EventSource { +function createEventSource(client: RpcClient, directory: string): EventSource { return { - on: (handler) => client.on("event", handler), + on: (handler) => + client.on("event", (event) => { + handler(event) + if (event.type === "server.instance.disposed") { + client.call("subscribe", { directory }).catch(() => {}) + } + }), } } @@ -140,7 +146,7 @@ export const TuiThreadCommand = cmd({ // Use direct RPC communication (no HTTP) url = "http://opencode.internal" customFetch = createWorkerFetch(client) - events = createEventSource(client) + events = createEventSource(client, cwd) } const tuiPromise = tui({