From 26ed61ac52f0a3cef75854944ac3a9fba16bdf15 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Thu, 12 Aug 2021 15:36:27 +0300 Subject: [PATCH] Mention Tooltip: Support unicode names (#1377) --- .../middle/composer/hooks/useMentionTooltip.ts | 9 ++++++++- src/util/searchWords.ts | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/components/middle/composer/hooks/useMentionTooltip.ts b/src/components/middle/composer/hooks/useMentionTooltip.ts index 974814661..5ef53f7c1 100644 --- a/src/components/middle/composer/hooks/useMentionTooltip.ts +++ b/src/components/middle/composer/hooks/useMentionTooltip.ts @@ -15,7 +15,14 @@ const runThrottled = throttle((cb) => cb(), 500, true); const RE_BR = /(
|)/g; const RE_SPACE = / /g; const RE_CLEAN_HTML = /(
|<\/div>)/gi; -const RE_USERNAME_SEARCH = new RegExp('(^|\\s)@[\\w\\d_-]*$', 'gi'); +let RE_USERNAME_SEARCH: RegExp; + +try { + RE_USERNAME_SEARCH = new RegExp('(^|\\s)@[-_\\p{L}\\p{M}\\p{N}]*$', 'gui'); +} catch (e) { + // Support for older versions of firefox + RE_USERNAME_SEARCH = new RegExp('(^|\\s)@[-_\\d\\wа-яё]*$', 'gi'); +} export default function useMentionTooltip( canSuggestMembers: boolean | undefined, diff --git a/src/util/searchWords.ts b/src/util/searchWords.ts index 5b3b52bd8..d423430a3 100644 --- a/src/util/searchWords.ts +++ b/src/util/searchWords.ts @@ -1,4 +1,11 @@ -const RE_NOT_LETTER = /[^\wа-яё]+/; +let RE_NOT_LETTER: RegExp; + +try { + RE_NOT_LETTER = new RegExp('[^\\p{L}\\p{M}]+', 'ui'); +} catch (e) { + // Support for older versions of firefox + RE_NOT_LETTER = new RegExp('[^\\wа-яё]+', 'i'); +} export default function searchWords(haystack: string, needle: string) { if (!haystack || !needle) {