From 363cad293eca49f44720f58cd69aeca2f7a55861 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 27 Feb 2026 14:54:31 -0500 Subject: [PATCH] fix: skip parsing of duplicate emoji tags --- src/activitypub/helpers.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/activitypub/helpers.js b/src/activitypub/helpers.js index 558a4ee8d7..044fc2c82d 100644 --- a/src/activitypub/helpers.js +++ b/src/activitypub/helpers.js @@ -559,6 +559,7 @@ Helpers.renderEmoji = (text, tags, strip = false) => { tags = Array.isArray(tags) ? tags : [tags]; let result = text; + const parsed = new Set(); tags.forEach((tag) => { const isEmoji = tag.type === 'Emoji'; const hasUrl = tag.icon && tag.icon.url; @@ -566,6 +567,9 @@ Helpers.renderEmoji = (text, tags, strip = false) => { if (isEmoji && (strip || (hasUrl && isImage))) { let { name } = tag; + if (parsed.has(name)) { + return; + } if (!name.startsWith(':')) { name = `:${name}`; @@ -583,6 +587,7 @@ Helpers.renderEmoji = (text, tags, strip = false) => { result = result.substring(0, index) + imgTag + result.substring(index + name.length); index = result.indexOf(name, index + imgTag.length); } + parsed.add(name); } });