From 369032c25635f3ab44f9ce45f600c040b1c186e2 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 13 Mar 2026 23:40:45 +0000 Subject: [PATCH] fix: tighten bonjour error coverage --- src/infra/bonjour-errors.test.ts | 6 ++++++ src/infra/bonjour-errors.ts | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/infra/bonjour-errors.test.ts b/src/infra/bonjour-errors.test.ts index 688335856c4..d102e96284c 100644 --- a/src/infra/bonjour-errors.test.ts +++ b/src/infra/bonjour-errors.test.ts @@ -8,6 +8,12 @@ describe("formatBonjourError", () => { expect(formatBonjourError(err)).toBe("AbortError: timed out"); }); + it("avoids duplicating named errors with blank messages", () => { + const err = new Error(""); + err.name = "AbortError"; + expect(formatBonjourError(err)).toBe("AbortError"); + }); + it("falls back to plain error strings and non-error values", () => { expect(formatBonjourError(new Error(""))).toBe("Error"); expect(formatBonjourError("boom")).toBe("boom"); diff --git a/src/infra/bonjour-errors.ts b/src/infra/bonjour-errors.ts index 7af8e3f3fe1..17ac468ec6e 100644 --- a/src/infra/bonjour-errors.ts +++ b/src/infra/bonjour-errors.ts @@ -1,7 +1,10 @@ export function formatBonjourError(err: unknown): string { if (err instanceof Error) { const msg = err.message || String(err); - return err.name && err.name !== "Error" ? `${err.name}: ${msg}` : msg; + if (err.name && err.name !== "Error") { + return msg === err.name ? err.name : `${err.name}: ${msg}`; + } + return msg; } return String(err); }