summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/i/update.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server/api/endpoints/i/update.ts')
-rw-r--r--packages/backend/src/server/api/endpoints/i/update.ts16
1 files changed, 13 insertions, 3 deletions
diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts
index 0e6a4d2e36..b00aa87bee 100644
--- a/packages/backend/src/server/api/endpoints/i/update.ts
+++ b/packages/backend/src/server/api/endpoints/i/update.ts
@@ -379,16 +379,26 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
const newName = updates.name === undefined ? user.name : updates.name;
const newDescription = profileUpdates.description === undefined ? profile.description : profileUpdates.description;
+ const newFields = profileUpdates.fields === undefined ? profile.fields : profileUpdates.fields;
if (newName != null) {
const tokens = mfm.parseSimple(newName);
- emojis = emojis.concat(extractCustomEmojisFromMfm(tokens!));
+ emojis = emojis.concat(extractCustomEmojisFromMfm(tokens));
}
if (newDescription != null) {
const tokens = mfm.parse(newDescription);
- emojis = emojis.concat(extractCustomEmojisFromMfm(tokens!));
- tags = extractHashtags(tokens!).map(tag => normalizeForSearch(tag)).splice(0, 32);
+ emojis = emojis.concat(extractCustomEmojisFromMfm(tokens));
+ 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;