]> cat aescling's git repositories - mastodon.git/commitdiff
Fix infinite loop when system emoji font is enabled (#1931)
authorClaire <claire.github-309c@sitedethib.com>
Mon, 14 Nov 2022 23:32:59 +0000 (00:32 +0100)
committeraescling <aescling+gitlab@cat.family>
Tue, 15 Nov 2022 05:32:01 +0000 (00:32 -0500)
Fixes #1930

app/javascript/flavours/glitch/util/emoji/index.js

index 6b7de213c693510582438614a7c4bb0158a30a4f..251db1d5b9346b0f7b2b69f4a9067b979aa50343 100644 (file)
@@ -30,11 +30,11 @@ const emojifyTextNode = (node, customEmojis) => {
     let match, i = 0;
 
     if (customEmojis === null) {
-      while (i < str.length && !(match = trie.search(str.slice(i)))) {
+      while (i < str.length && (useSystemEmojiFont || !(match = trie.search(str.slice(i))))) {
         i += str.codePointAt(i) < 65536 ? 1 : 2;
       }
     } else {
-      while (i < str.length && str[i] !== ':' && !(match = trie.search(str.slice(i)))) {
+      while (i < str.length && str[i] !== ':' && (useSystemEmojiFont || !(match = trie.search(str.slice(i))))) {
         i += str.codePointAt(i) < 65536 ? 1 : 2;
       }
     }