From 5e54d7c2cde65578f7a09b1783ba1251ff64c001 Mon Sep 17 00:00:00 2001 From: felixlaga Date: Sat, 7 Nov 2026 17:17:00 +0900 Subject: [PATCH] fix(server): removing filler words no longer leaves ".." in dictated text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With "remove filler words" on, a filler followed by an ellipsis lost only the first dot, so "Um... make it red" became ".. make it red" and "uh… blue" left "… blue". The pattern took one trailing comma or period after a filler. The filler's trailing punctuation now also covers "..." (one to three dots) and "…". Co-Authored-By: Claude Opus 5.5 --- apps/server/src/speech/SpeechService.test.ts | 6 ++++++ apps/server/src/speech/fillerWords.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/server/src/speech/SpeechService.test.ts b/apps/server/src/speech/SpeechService.test.ts index 7b34772837088..23d2e53c14d8b 100644 --- a/apps/server/src/speech/SpeechService.test.ts +++ b/apps/server/src/speech/SpeechService.test.ts @@ -544,6 +544,12 @@ it.effect.each([ text: "Uh, Make it red, um, blue.", expected: "Make it red, blue.", }, + { + cue: undefined, + remove: true, + text: "Um... make it red, uh… blue.", + expected: "make it red, blue.", + }, { cue: "um", remove: false, diff --git a/apps/server/src/speech/fillerWords.ts b/apps/server/src/speech/fillerWords.ts index 5061341833c06..e13127db26728 100644 --- a/apps/server/src/speech/fillerWords.ts +++ b/apps/server/src/speech/fillerWords.ts @@ -34,7 +34,7 @@ export function removeSpeechFillerWords( ]; const cuePattern = correctionCue?.trim().split(/\s+/).map(escapeRegex).join("\\s+"); const pattern = new RegExp( - `(? cue ?? "");