diff --git a/packages/editor/src/core/extensions/emoji/components/emojis-list.tsx b/packages/editor/src/core/extensions/emoji/components/emojis-list.tsx index 0a7c94fe92..25b2977e77 100644 --- a/packages/editor/src/core/extensions/emoji/components/emojis-list.tsx +++ b/packages/editor/src/core/extensions/emoji/components/emojis-list.tsx @@ -10,7 +10,6 @@ export type EmojiItem = { emoji: string; shortcodes: string[]; tags: string[]; - fallbackImage?: string; }; export type EmojiListRef = { @@ -156,13 +155,7 @@ export const EmojisListDropdown = forwardRef selectItem(index)} onMouseEnter={() => setSelectedIndex(index)} > - - {item.fallbackImage ? ( - {item.name} - ) : ( - item.emoji - )} - + {item.emoji} :{item.name}: diff --git a/packages/editor/src/core/extensions/emoji/extension.ts b/packages/editor/src/core/extensions/emoji/extension.ts index 414cef8cec..10f854faa8 100644 --- a/packages/editor/src/core/extensions/emoji/extension.ts +++ b/packages/editor/src/core/extensions/emoji/extension.ts @@ -16,8 +16,6 @@ export const EmojiExtension = Emoji.extend({ const emojiItem = shortcodeToEmoji(node.attrs.name, extensionOptions.emojis); if (emojiItem?.emoji) { state.write(emojiItem?.emoji); - } else if (emojiItem?.fallbackImage) { - state.write(`\n![${emojiItem.name}-${emojiItem.shortcodes[0]}](${emojiItem?.fallbackImage})\n`); } else { state.write(`:${node.attrs.name}:`); } @@ -26,7 +24,9 @@ export const EmojiExtension = Emoji.extend({ }; }, }).configure({ - emojis: gitHubEmojis, + // Filter out emojis without emoji value and remove fallbackImage property to prevent CDN calls + // eslint-disable-next-line @typescript-eslint/no-unused-vars + emojis: gitHubEmojis.filter((item) => item.emoji).map(({ fallbackImage, ...emoji }) => emoji), suggestion: emojiSuggestion, enableEmoticons: true, }); diff --git a/packages/editor/src/core/extensions/emoji/suggestion.ts b/packages/editor/src/core/extensions/emoji/suggestion.ts index 81d1285f39..69750918a0 100644 --- a/packages/editor/src/core/extensions/emoji/suggestion.ts +++ b/packages/editor/src/core/extensions/emoji/suggestion.ts @@ -16,27 +16,17 @@ const DEFAULT_EMOJIS = ["+1", "-1", "smile", "orange_heart", "eyes"]; export const emojiSuggestion: EmojiOptions["suggestion"] = { items: ({ editor, query }: { editor: Editor; query: string }): EmojiItem[] => { - const { emojis, isSupported } = editor.storage.emoji as EmojiStorage; - const filteredEmojis = emojis.filter((emoji) => { - const hasEmoji = !!emoji?.emoji; - const hasFallbackImage = !!emoji?.fallbackImage; - const renderFallbackImage = - (emoji.forceFallbackImages && !hasEmoji) || - (emoji.forceFallbackImages && hasFallbackImage) || - (emoji.forceFallbackImages && !isSupported(emoji) && hasFallbackImage) || - ((!isSupported(emoji) || !hasEmoji) && hasFallbackImage); - return !renderFallbackImage; - }); + const { emojis } = editor.storage.emoji as EmojiStorage; if (query.trim() === "") { const defaultEmojis = DEFAULT_EMOJIS.map((name) => - filteredEmojis.find((emoji) => emoji.shortcodes.includes(name) || emoji.name === name) + emojis.find((emoji) => emoji.shortcodes.includes(name) || emoji.name === name) ) .filter(Boolean) .slice(0, 5); return defaultEmojis as EmojiItem[]; } - return filteredEmojis + return emojis .filter(({ shortcodes, tags }) => { const lowerQuery = query.toLowerCase(); return (