about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-09-15 14:05:45 -0700
committerGitHub <noreply@github.com>2023-09-15 14:05:45 -0700
commit0672451ddca4c3496e8bfc1746289b7ce3d9ede2 (patch)
tree4c52080d87e064bae213aa2cf57681bb0195bdc4 /src/lib
parent763a50692f39074a2cc264df347bccd43bcd79a7 (diff)
downloadvoidsky-0672451ddca4c3496e8bfc1746289b7ce3d9ede2.tar.zst
Sanitize BIDI characters from display names (#1462)
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/strings/display-names.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/strings/display-names.ts b/src/lib/strings/display-names.ts
index 29b7c3b50..75383dd4f 100644
--- a/src/lib/strings/display-names.ts
+++ b/src/lib/strings/display-names.ts
@@ -6,6 +6,8 @@ import {describeModerationCause} from '../moderation'
 // \u2714 = ✔
 // \u2611 = ☑
 const CHECK_MARKS_RE = /[\u2705\u2713\u2714\u2611]/gu
+const CONTROL_CHARS_RE =
+  /[\u0000-\u001F\u007F-\u009F\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g
 
 export function sanitizeDisplayName(
   str: string,
@@ -15,7 +17,7 @@ export function sanitizeDisplayName(
     return `⚠${describeModerationCause(moderation.cause, 'account').name}`
   }
   if (typeof str === 'string') {
-    return str.replace(CHECK_MARKS_RE, '').trim()
+    return str.replace(CHECK_MARKS_RE, '').replace(CONTROL_CHARS_RE, '').trim()
   }
   return ''
 }