From aa676d3221a08243042b5387ec2efef1033d1a9a Mon Sep 17 00:00:00 2001 From: Miodec Date: Sun, 21 Jun 2026 11:49:27 +0200 Subject: [PATCH 1/2] fix: stop on letter showing red spaces after words --- frontend/src/ts/test/test-ui.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/ts/test/test-ui.ts b/frontend/src/ts/test/test-ui.ts index 6820ecb931f9..77222524f517 100644 --- a/frontend/src/ts/test/test-ui.ts +++ b/frontend/src/ts/test/test-ui.ts @@ -1839,7 +1839,7 @@ export function beforeTestWordChange( forceUpdateActiveWordLetters ) { void updateWordLetters({ - input: direction === "back" ? "" : getCurrentInput(), + input: getCurrentInput().trimEnd(), wordIndex: TestState.activeWordIndex, compositionData: CompositionState.getData(), }); From 95fd48d8ada240bc85c9f9b0500af0644080d388 Mon Sep 17 00:00:00 2001 From: Miodec Date: Sun, 21 Jun 2026 11:55:30 +0200 Subject: [PATCH 2/2] impr(commandline): when matching commands, remove punctuation --- frontend/src/ts/commandline/commandline.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/frontend/src/ts/commandline/commandline.ts b/frontend/src/ts/commandline/commandline.ts index be31654b1bf2..878677174183 100644 --- a/frontend/src/ts/commandline/commandline.ts +++ b/frontend/src/ts/commandline/commandline.ts @@ -256,6 +256,10 @@ async function goBackOrHide(): Promise { } } +function stripPunctuation(str: string): string { + return str.replace(/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]/g, ""); +} + async function filterSubgroup(): Promise { const subgroup = await getSubgroup(); subgroup.beforeList?.(); @@ -267,7 +271,9 @@ async function filterSubgroup(): Promise { .trim(); const inputSplit = - inputNoQuickSingle.length === 0 ? [] : inputNoQuickSingle.split(" "); + inputNoQuickSingle.length === 0 + ? [] + : inputNoQuickSingle.split(" ").map(stripPunctuation).filter(Boolean); const matches: { matchCount: number; @@ -299,8 +305,10 @@ async function filterSubgroup(): Promise { : command.display ) .toLowerCase() - .split(" "); - const aliasSplit = command.alias?.toLowerCase().split(" ") ?? []; + .split(" ") + .map(stripPunctuation); + const aliasSplit = + command.alias?.toLowerCase().split(" ").map(stripPunctuation) ?? []; const displayAliasSplit = displaySplit.concat(aliasSplit); const displayAliasMatchArray: (number | null)[] = displayAliasSplit.map(