From 3b6ef6cf57aa2b2aa5dabeda93ec84ce1c7f93f7 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Sun, 16 Nov 2025 23:05:19 +0100 Subject: [PATCH] refactor(tui): Use explicit charCode check for unicode filtering - Use 'charCodeAt(0) >= 32' instead of open 'else' in handleInput() - Use same filter in handlePaste() for consistency - Prevents control characters while allowing all unicode - More explicit and safer than accepting everything --- packages/tui/src/components/editor.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tui/src/components/editor.ts b/packages/tui/src/components/editor.ts index 67ea7e52..4374775d 100644 --- a/packages/tui/src/components/editor.ts +++ b/packages/tui/src/components/editor.ts @@ -333,8 +333,8 @@ export class Editor implements Component { // Left this.moveCursor(0, -1); } - // Regular characters (printable ASCII) - else { + // Regular characters (printable characters and unicode, but not control characters) + else if (data.charCodeAt(0) >= 32) { this.insertCharacter(data); } } @@ -472,7 +472,7 @@ export class Editor implements Component { // Filter out non-printable characters except newlines const filteredText = tabExpandedText .split("") - .filter((char) => char === "\n" || char.length > 0) + .filter((char) => char === "\n" || char.charCodeAt(0) >= 32) .join(""); // Split into lines