Fix: Continue importing from file if single emoji import fails (#14461)

* Fix: Continue importing from file if single emoji import fails

* Fix indentation

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
This commit is contained in:
Aleteoryx 2024-09-23 20:50:00 -04:00 committed by GitHub
parent a37df2cd8e
commit 689848943b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 25 additions and 17 deletions

View file

@ -29,6 +29,7 @@
- Fix: ファイルがサイズの制限を超えてアップロードされた際にエラーを返さなかった問題を修正 - Fix: ファイルがサイズの制限を超えてアップロードされた際にエラーを返さなかった問題を修正
- Fix: 外部ページを解析する際に、ページに紐づけられた関連リソースも読み込まれてしまう問題を修正 - Fix: 外部ページを解析する際に、ページに紐づけられた関連リソースも読み込まれてしまう問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/26e0412fbb91447c37e8fb06ffb0487346063bb8) (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/26e0412fbb91447c37e8fb06ffb0487346063bb8)
- Fix: Continue importing from file if single emoji import fails
- Fix: `Retry-After`ヘッダーが送信されなかった問題を修正 - Fix: `Retry-After`ヘッダーが送信されなかった問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/8a982c61c01909e7540ff1be9f019df07c3f0624) (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/8a982c61c01909e7540ff1be9f019df07c3f0624)
- Fix: サーバーサイドのDOM解析完了時にリソースを開放するように - Fix: サーバーサイドのDOM解析完了時にリソースを開放するように

View file

@ -87,23 +87,30 @@ export class ImportCustomEmojisProcessorService {
await this.emojisRepository.delete({ await this.emojisRepository.delete({
name: emojiInfo.name, name: emojiInfo.name,
}); });
const driveFile = await this.driveService.addFile({ try {
user: null, const driveFile = await this.driveService.addFile({
path: emojiPath, user: null,
name: record.fileName, path: emojiPath,
force: true, name: record.fileName,
}); force: true,
await this.customEmojiService.add({ });
name: emojiInfo.name, await this.customEmojiService.add({
category: emojiInfo.category, name: emojiInfo.name,
host: null, category: emojiInfo.category,
aliases: emojiInfo.aliases, host: null,
driveFile, aliases: emojiInfo.aliases,
license: emojiInfo.license, driveFile,
isSensitive: emojiInfo.isSensitive, license: emojiInfo.license,
localOnly: emojiInfo.localOnly, isSensitive: emojiInfo.isSensitive,
roleIdsThatCanBeUsedThisEmojiAsReaction: [], localOnly: emojiInfo.localOnly,
}); roleIdsThatCanBeUsedThisEmojiAsReaction: [],
});
} catch (e) {
if (e instanceof Error || typeof e === 'string') {
this.logger.error(`couldn't import ${emojiPath} for ${emojiInfo.name}: ${e}`);
}
continue;
}
} }
cleanup(); cleanup();