fix(backend): 追加情報のカスタム絵文字がユーザー情報のtagに含まれない問題を修正

Fix #12316
This commit is contained in:
syuilo 2023-11-15 16:17:21 +09:00
parent be6778ac61
commit ca81f0ddbb
2 changed files with 14 additions and 3 deletions

View file

@ -34,6 +34,7 @@
- Fix: トークンのないプラグインをアンインストールするときにエラーが出ないように - Fix: トークンのないプラグインをアンインストールするときにエラーが出ないように
- Fix: 投稿通知がオンでもダイレクト投稿はユーザーに通知されないようにされました - Fix: 投稿通知がオンでもダイレクト投稿はユーザーに通知されないようにされました
- Fix: ユーザタイムラインの「ノート」選択時にリノートが混ざり込んでしまうことがある問題の修正 #12306 - Fix: ユーザタイムラインの「ノート」選択時にリノートが混ざり込んでしまうことがある問題の修正 #12306
- Fix: ActivityPub: 追加情報のカスタム絵文字がユーザー情報のtagに含まれない問題を修正
- Fix: ActivityPubに関するセキュリティの向上 - Fix: ActivityPubに関するセキュリティの向上
- Fix: 非公開の投稿に対して返信できないように - Fix: 非公開の投稿に対して返信できないように

View file

@ -379,16 +379,26 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
const newName = updates.name === undefined ? user.name : updates.name; const newName = updates.name === undefined ? user.name : updates.name;
const newDescription = profileUpdates.description === undefined ? profile.description : profileUpdates.description; const newDescription = profileUpdates.description === undefined ? profile.description : profileUpdates.description;
const newFields = profileUpdates.fields === undefined ? profile.fields : profileUpdates.fields;
if (newName != null) { if (newName != null) {
const tokens = mfm.parseSimple(newName); const tokens = mfm.parseSimple(newName);
emojis = emojis.concat(extractCustomEmojisFromMfm(tokens!)); emojis = emojis.concat(extractCustomEmojisFromMfm(tokens));
} }
if (newDescription != null) { if (newDescription != null) {
const tokens = mfm.parse(newDescription); const tokens = mfm.parse(newDescription);
emojis = emojis.concat(extractCustomEmojisFromMfm(tokens!)); emojis = emojis.concat(extractCustomEmojisFromMfm(tokens));
tags = extractHashtags(tokens!).map(tag => normalizeForSearch(tag)).splice(0, 32); tags = extractHashtags(tokens).map(tag => normalizeForSearch(tag)).splice(0, 32);
}
for (const field of newFields) {
const nameTokens = mfm.parseSimple(field.name);
const valueTokens = mfm.parseSimple(field.value);
emojis = emojis.concat([
...extractCustomEmojisFromMfm(nameTokens),
...extractCustomEmojisFromMfm(valueTokens),
]);
} }
updates.emojis = emojis; updates.emojis = emojis;