about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDean Bassett <dean@dbassett.dev>2023-02-13 05:54:08 -0800
committerGitHub <noreply@github.com>2023-02-13 14:54:08 +0100
commit4da5f77d929d6b83c134cae1eefbc8ba2db752f8 (patch)
tree3a56f2d1716d54c3c8a8c7fb4572b6d48f62b958
parent841263a548fa04d953bc47bd3a18474f0daecf9a (diff)
Fix case-sensitive check for previously used hashtags (#23526)
-rw-r--r--app/javascript/mastodon/reducers/compose.js11
1 files changed, 7 insertions, 4 deletions
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
index 783d748ae..842b7af51 100644
--- a/app/javascript/mastodon/reducers/compose.js
+++ b/app/javascript/mastodon/reducers/compose.js
@@ -186,11 +186,12 @@ const ignoreSuggestion = (state, position, token, completion, path) => {
 };
 
 const sortHashtagsByUse = (state, tags) => {
-  const personalHistory = state.get('tagHistory');
+  const personalHistory = state.get('tagHistory').map(tag => tag.toLowerCase());
 
-  return tags.sort((a, b) => {
-    const usedA = personalHistory.includes(a.name);
-    const usedB = personalHistory.includes(b.name);
+  const tagsWithLowercase = tags.map(t => ({ ...t, lowerName: t.name.toLowerCase() }));
+  const sorted = tagsWithLowercase.sort((a, b) => {
+    const usedA = personalHistory.includes(a.lowerName);
+    const usedB = personalHistory.includes(b.lowerName);
 
     if (usedA === usedB) {
       return 0;
@@ -200,6 +201,8 @@ const sortHashtagsByUse = (state, tags) => {
       return 1;
     }
   });
+  sorted.forEach(tag => delete tag.lowerName);
+  return sorted;
 };
 
 const insertEmoji = (state, position, emojiData, needsSpace) => {