From 3683173af343221f65fac9002696aae7103d0daa Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Wed, 6 May 2026 15:17:26 +0800 Subject: [PATCH] fix(desktop): suppress EPIPE errors in console transport --- packages/desktop/src/main/logging.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/desktop/src/main/logging.ts b/packages/desktop/src/main/logging.ts index d315b2d344f8..1f1c5e54e35f 100644 --- a/packages/desktop/src/main/logging.ts +++ b/packages/desktop/src/main/logging.ts @@ -7,6 +7,7 @@ const TAIL_LINES = 1000 export function initLogging() { log.transports.file.maxSize = 5 * 1024 * 1024 + initConsoleTransport() cleanup() return log } @@ -38,3 +39,19 @@ function cleanup() { } } } + +function initConsoleTransport() { + const write = log.transports.console.writeFn.bind(log.transports.console) + log.transports.console.writeFn = (options) => { + try { + write(options) + } catch (err) { + if (!isBrokenPipe(err)) throw err + log.transports.console.level = false + } + } +} + +function isBrokenPipe(err: unknown) { + return typeof err === "object" && err !== null && "code" in err && err.code === "EPIPE" +}