diff options
| author | anatawa12 <anatawa12@icloud.com> | 2024-02-22 00:59:59 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-22 00:59:59 +0900 |
| commit | b36e6b1a777848ec8553b297e956ada240dcacc9 (patch) | |
| tree | fc4085900e995ebc7141bb5151189976121bcf3a /packages/backend/src/queue | |
| parent | fix: MkUserPopupが表示されてる状態でv-user-previewがついた要... (diff) | |
| download | sharkey-b36e6b1a777848ec8553b297e956ada240dcacc9.tar.gz sharkey-b36e6b1a777848ec8553b297e956ada240dcacc9.tar.bz2 sharkey-b36e6b1a777848ec8553b297e956ada240dcacc9.zip | |
fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 (#13428)
* refactor: use IdentifiableError instead of NoteCreateService.ContainsProhibitedWordsError
* fix: notes with prohibited words are reprocessed with delay
* docs(changelog): 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題
* lint: fix lint errors
* fix: rethrowするべきなのにrethrowし忘れていたのを修正
Diffstat (limited to 'packages/backend/src/queue')
| -rw-r--r-- | packages/backend/src/queue/processors/InboxProcessorService.ts | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/packages/backend/src/queue/processors/InboxProcessorService.ts b/packages/backend/src/queue/processors/InboxProcessorService.ts index 7adadd799b..0a713149e5 100644 --- a/packages/backend/src/queue/processors/InboxProcessorService.ts +++ b/packages/backend/src/queue/processors/InboxProcessorService.ts @@ -24,6 +24,7 @@ import { ApPersonService } from '@/core/activitypub/models/ApPersonService.js'; import { LdSignatureService } from '@/core/activitypub/LdSignatureService.js'; import { ApInboxService } from '@/core/activitypub/ApInboxService.js'; import { bindThis } from '@/decorators.js'; +import { IdentifiableError } from '@/misc/identifiable-error.js'; import { QueueLoggerService } from '../QueueLoggerService.js'; import type { InboxJobData } from '../types.js'; @@ -180,7 +181,14 @@ export class InboxProcessorService { }); // アクティビティを処理 - await this.apInboxService.performActivity(authUser.user, activity); + try { + await this.apInboxService.performActivity(authUser.user, activity); + } catch (e) { + if (e instanceof IdentifiableError) { + if (e.id === '689ee33f-f97c-479a-ac49-1b9f8140af99') return 'blocked notes with prohibited words'; + } + throw e; + } return 'ok'; } } |