diff --git a/app/components/autocomplete/at_mention/at_mention.tsx b/app/components/autocomplete/at_mention/at_mention.tsx index 206839c50..697c68b8a 100644 --- a/app/components/autocomplete/at_mention/at_mention.tsx +++ b/app/components/autocomplete/at_mention/at_mention.tsx @@ -42,7 +42,7 @@ const getMatchTermForAtMention = (() => { return (value: string, isSearch: boolean) => { if (value !== lastValue || isSearch !== lastIsSearch) { const regex = isSearch ? AT_MENTION_SEARCH_REGEX : AT_MENTION_REGEX; - let term = value; + let term = value.toLowerCase(); if (term.startsWith('from: @') || term.startsWith('from:@')) { term = term.replace('@', ''); } diff --git a/app/constants/autocomplete.ts b/app/constants/autocomplete.ts index 1a696ffec..d62a48d42 100644 --- a/app/constants/autocomplete.ts +++ b/app/constants/autocomplete.ts @@ -5,13 +5,13 @@ export const AT_MENTION_REGEX = /\B(@([^@\r\n]*))$/i; export const AT_MENTION_REGEX_GLOBAL = /\B(@([^@\r\n]*))/gi; -export const AT_MENTION_SEARCH_REGEX = /\bfrom:\s*(\S*)$/i; +export const AT_MENTION_SEARCH_REGEX = /\bfrom:\s*([^\r\n]*)$/i; export const CHANNEL_MENTION_REGEX = /\B(~([^~\r\n]*))$/i; export const CHANNEL_MENTION_REGEX_DELAYED = /\B(~([^~\r\n]{2,}))$/i; -export const CHANNEL_MENTION_SEARCH_REGEX = /\b(?:in|channel):\s*(\S*)$/i; +export const CHANNEL_MENTION_SEARCH_REGEX = /\b(?:in|channel):\s*([^\r\n]*)$/i; export const DATE_MENTION_SEARCH_REGEX = /\b(?:on|before|after):\s*(\S*)$/i; diff --git a/app/screens/home/search/results/post_results.tsx b/app/screens/home/search/results/post_results.tsx index a98125878..e61bf55ba 100644 --- a/app/screens/home/search/results/post_results.tsx +++ b/app/screens/home/search/results/post_results.tsx @@ -69,7 +69,7 @@ const PostResults = ({ const hasPhrases = (/"([^"]*)"/).test(searchValue || ''); let searchPatterns: SearchPattern[] | undefined; if (matches && !hasPhrases) { - searchPatterns = matches?.[key].map(convertSearchTermToRegex); + searchPatterns = matches?.[key]?.map(convertSearchTermToRegex); } else { searchPatterns = parseSearchTerms(searchValue).map(convertSearchTermToRegex).sort((a, b) => { return b.term.length - a.term.length;