From 7adc3140e257c8ff849f9c8ad0f875631f528c69 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 14 Nov 2024 15:08:30 -0500 Subject: [PATCH] fix: #12912, strip custom emoji from remote content titles --- src/activitypub/notes.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/activitypub/notes.js b/src/activitypub/notes.js index 6574465dbf..cfe0b1db9e 100644 --- a/src/activitypub/notes.js +++ b/src/activitypub/notes.js @@ -110,6 +110,15 @@ Notes.assert = async (uid, input, options = { skipChecks: false }) => { // mainPid ok to leave as-is title = name || activitypub.helpers.generateTitle(utils.decodeHTMLEntities(content)); + + // Remove any custom emoji from title + if (_activitypub && _activitypub.tag && Array.isArray(_activitypub.tag)) { + _activitypub.tag + .filter(tag => tag.type === 'Emoji') + .forEach((tag) => { + title = title.replace(new RegExp(tag.name, 'g'), ''); + }); + } } mainPid = utils.isNumber(mainPid) ? parseInt(mainPid, 10) : mainPid;