summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/terminal.tsx
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-01-24 16:22:57 -0600
committeradamelmore <[email protected]>2026-01-24 16:58:43 -0600
commit2f1be914cdd396ff777eeae920b45c9c820ab840 (patch)
treedf5c42ebf0e0df216b8b0a049e6e83a8b3adeae5 /packages/app/src/components/terminal.tsx
parent1269766cb89fb4d4373ba5b962254ad0565f42c3 (diff)
downloadopencode-2f1be914cdd396ff777eeae920b45c9c820ab840.tar.gz
opencode-2f1be914cdd396ff777eeae920b45c9c820ab840.zip
fix(app): remove terminal connection error overlay
Diffstat (limited to 'packages/app/src/components/terminal.tsx')
-rw-r--r--packages/app/src/components/terminal.tsx6
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/app/src/components/terminal.tsx b/packages/app/src/components/terminal.tsx
index 6bedcfae2..02d561fba 100644
--- a/packages/app/src/components/terminal.tsx
+++ b/packages/app/src/components/terminal.tsx
@@ -111,6 +111,8 @@ export const Terminal = (props: TerminalProps) => {
const mod = await import("ghostty-web")
ghostty = await mod.Ghostty.load()
+ const once = { value: false }
+
const url = new URL(sdk.url + `/pty/${local.pty.id}/connect?directory=${encodeURIComponent(sdk.directory)}`)
if (window.__OPENCODE__?.serverPassword) {
url.username = "opencode"
@@ -258,6 +260,8 @@ export const Terminal = (props: TerminalProps) => {
})
socket.addEventListener("error", (error) => {
if (disposed) return
+ if (once.value) return
+ once.value = true
console.error("WebSocket error:", error)
local.onConnectError?.(error)
})
@@ -266,6 +270,8 @@ export const Terminal = (props: TerminalProps) => {
// Normal closure (code 1000) means PTY process exited - server event handles cleanup
// For other codes (network issues, server restart), trigger error handler
if (event.code !== 1000) {
+ if (once.value) return
+ once.value = true
local.onConnectError?.(new Error(`WebSocket closed abnormally: ${event.code}`))
}
})