summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2026-01-09 18:26:32 -0600
committerAiden Cline <[email protected]>2026-01-09 18:26:32 -0600
commit075fa2c0e81eb6497b78c91e008f0ac1396f369b (patch)
treebd731607dbceed705bd2af4ede59f252c21e0f2d
parent8b287caaad7453c958225b8665ee67776f8fdeec (diff)
downloadopencode-075fa2c0e81eb6497b78c91e008f0ac1396f369b.tar.gz
opencode-075fa2c0e81eb6497b78c91e008f0ac1396f369b.zip
fix: instance dispose issue
-rw-r--r--packages/opencode/src/cli/cmd/tui/thread.ts12
1 files 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>("event", handler),
+ on: (handler) =>
+ client.on<Event>("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({