From 8296d70fd6aaff25d092f6fa3e0428e9e8db3b62 Mon Sep 17 00:00:00 2001 From: plebeius Date: Sun, 1 Mar 2026 18:36:05 +0800 Subject: [PATCH] fix(string-utils): guard truncateWithEllipsisInMiddle for small maxLength and slice(-0) --- src/lib/utils/string-utils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/utils/string-utils.ts b/src/lib/utils/string-utils.ts index 1ea240a4..43b986ef 100644 --- a/src/lib/utils/string-utils.ts +++ b/src/lib/utils/string-utils.ts @@ -28,6 +28,8 @@ export function formatUserIDForDisplay(userID: string | undefined, maxDomainLeng export function truncateWithEllipsisInMiddle(str: string, maxLength: number = 50): string { if (!str || str.length <= maxLength) return str; const ellipsis = '...'; + if (maxLength <= ellipsis.length) return str.slice(0, maxLength); const half = Math.floor((maxLength - ellipsis.length) / 2); - return str.slice(0, half) + ellipsis + str.slice(-half); + const right = half > 0 ? str.slice(-half) : ''; + return str.slice(0, half) + ellipsis + right; }