From 4c19491fd29d48ea0569f625bbb0b22767e71e80 Mon Sep 17 00:00:00 2001 From: Kamkmgamer Date: Tue, 13 Jan 2026 20:39:31 +0200 Subject: [PATCH 1/5] fix(session): add error logging for failed error response parsing --- packages/opencode/src/session/message-v2.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/session/message-v2.ts b/packages/opencode/src/session/message-v2.ts index c1d4015f6d3..e3fb5582dd0 100644 --- a/packages/opencode/src/session/message-v2.ts +++ b/packages/opencode/src/session/message-v2.ts @@ -6,6 +6,7 @@ import { Identifier } from "../id/id" import { LSP } from "../lsp" import { Snapshot } from "@/snapshot" import { fn } from "@/util/fn" +import { Log } from "../util/log" import { Storage } from "@/storage/storage" import { ProviderTransform } from "@/provider/transform" import { STATUS_CODES } from "http" @@ -659,7 +660,9 @@ export namespace MessageV2 { if (errMsg && typeof errMsg === "string") { return `${msg}: ${errMsg}` } - } catch {} + } catch (err) { + Log.Default.debug("Failed to parse error response body", { error: err }) + } return `${msg}: ${e.responseBody}` }).trim() From b4c747256d6ce24303eaa4b00b6821c15e6dc348 Mon Sep 17 00:00:00 2001 From: Kamkmgamer Date: Tue, 13 Jan 2026 20:40:03 +0200 Subject: [PATCH 2/5] fix(prompt): add error logging for failed image paste Previously, image paste failures were silently ignored. Now we log the error with a debug message when pasting an image fails, falling back to text insertion. --- packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 9ad85d08f0e..6e3b0f148e8 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -29,6 +29,7 @@ import { DialogProvider as DialogProviderConnect } from "../dialog-provider" import { DialogAlert } from "../../ui/dialog-alert" import { useToast } from "../../ui/toast" import { useKV } from "../../context/kv" +import { Log } from "@/util/log" import { useTextareaKeybindings } from "../textarea-keybindings" export type PromptProps = { @@ -898,7 +899,9 @@ export function Prompt(props: PromptProps) { return } } - } catch {} + } catch (err) { + Log.Default.debug("Failed to paste image, falling back to text", { error: err }) + } } const lineCount = (pastedContent.match(/\n/g)?.length ?? 0) + 1 From e11d571ee0cc78e3c0abc0d75f2314e13206fc0c Mon Sep 17 00:00:00 2001 From: Kamkmgamer Date: Tue, 13 Jan 2026 20:40:31 +0200 Subject: [PATCH 3/5] fix(session): add error logging for failed error response parsing --- packages/opencode/src/session/retry.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/session/retry.ts b/packages/opencode/src/session/retry.ts index dd0fe238022..a05c95b4925 100644 --- a/packages/opencode/src/session/retry.ts +++ b/packages/opencode/src/session/retry.ts @@ -1,5 +1,6 @@ import type { NamedError } from "@opencode-ai/util/error" import { MessageV2 } from "./message-v2" +import { Log } from "../util/log" export namespace SessionRetry { export const RETRY_INITIAL_DELAY = 2000 @@ -82,7 +83,9 @@ export namespace SessionRetry { ) { return "Provider Server Error" } - } catch {} + } catch (err) { + Log.Default.debug("Failed to parse error response for retry logic", { error: err }) + } } return undefined From e90ba60bd9ae5dfa9cc4221a595cec80465658b8 Mon Sep 17 00:00:00 2001 From: Kamkmgamer Date: Tue, 13 Jan 2026 20:41:03 +0200 Subject: [PATCH 4/5] fix(pty): add error logging for failed process cleanup --- packages/opencode/src/pty/index.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/pty/index.ts b/packages/opencode/src/pty/index.ts index 39ccebf96be..5ab65be908e 100644 --- a/packages/opencode/src/pty/index.ts +++ b/packages/opencode/src/pty/index.ts @@ -76,7 +76,9 @@ export namespace Pty { for (const session of sessions.values()) { try { session.process.kill() - } catch {} + } catch (err) { + log.debug("Failed to kill process during session cleanup", { error: err }) + } for (const ws of session.subscribers) { ws.close() } @@ -172,7 +174,9 @@ export namespace Pty { log.info("removing session", { id }) try { session.process.kill() - } catch {} + } catch (err) { + log.debug("Failed to kill process during session removal", { error: err }) + } for (const ws of session.subscribers) { ws.close() } From 9c414d861571279297498d263f465994d0e3ef2b Mon Sep 17 00:00:00 2001 From: Kamkmgamer Date: Tue, 13 Jan 2026 20:41:26 +0200 Subject: [PATCH 5/5] fix(mdns): add error logging for failed bonjour cleanup --- packages/opencode/src/server/mdns.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/server/mdns.ts b/packages/opencode/src/server/mdns.ts index 8bddb910503..f7c6491eb0b 100644 --- a/packages/opencode/src/server/mdns.ts +++ b/packages/opencode/src/server/mdns.ts @@ -34,7 +34,9 @@ export namespace MDNS { if (bonjour) { try { bonjour.destroy() - } catch {} + } catch (err) { + log.debug("Failed to destroy bonjour instance during cleanup", { error: err }) + } } bonjour = undefined currentPort = undefined