diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-11-15 16:17:21 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-11-15 16:17:21 +0900 |
| commit | ca81f0ddbbeea1e5ebd95ae81a6016c7a57612fc (patch) | |
| tree | dbdb10b354584a8bb358e896c69de7a1c5f3a0e4 /packages/backend/src/server | |
| parent | chore(backend): improve performance (diff) | |
| download | sharkey-ca81f0ddbbeea1e5ebd95ae81a6016c7a57612fc.tar.gz sharkey-ca81f0ddbbeea1e5ebd95ae81a6016c7a57612fc.tar.bz2 sharkey-ca81f0ddbbeea1e5ebd95ae81a6016c7a57612fc.zip | |
fix(backend): 追加情報のカスタム絵文字がユーザー情報のtagに含まれない問題を修正
Fix #12316
Diffstat (limited to 'packages/backend/src/server')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/i/update.ts | 16 |
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; |