From ddaf6527d7dd9dae039d609be3558772ee9966a9 Mon Sep 17 00:00:00 2001 From: Masonlet Date: Tue, 9 Jun 2026 17:28:30 -0400 Subject: [PATCH] fix: truncate long error messages in error SVG --- src/render/error.ts | 6 +++++- tests/render/error.test.ts | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/render/error.ts b/src/render/error.ts index 55a3459..8a2b715 100644 --- a/src/render/error.ts +++ b/src/render/error.ts @@ -10,11 +10,15 @@ export function renderError( selectedTheme?: Theme ): string { const background = selectedTheme?.bg || THEMES.default.bg; + const maxLen = 40; + const truncated = message.length > maxLen + ? sanitize(message.slice(0, maxLen)) + "..." + : sanitize(message); return ` - Error: ${sanitize(message)} + Error: ${truncated} `.trim(); diff --git a/tests/render/error.test.ts b/tests/render/error.test.ts index 0f091d2..2f4d506 100644 --- a/tests/render/error.test.ts +++ b/tests/render/error.test.ts @@ -20,4 +20,11 @@ describe("renderError", () => { const result = renderError("Error", 400, 300); expect(result).toContain(`fill="${THEMES.default.bg}"`); }); + + it("truncates long error messages", () => { + const long = "A".repeat(50); + const result = renderError(long, 400, 300); + expect(result).toContain("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..."); + expect(result).not.toContain("A".repeat(50)); + }); });