summaryrefslogtreecommitdiff
path: root/packages/backend/src/queue
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2024-02-22 00:59:59 +0900
committerGitHub <noreply@github.com>2024-02-22 00:59:59 +0900
commitb36e6b1a777848ec8553b297e956ada240dcacc9 (patch)
treefc4085900e995ebc7141bb5151189976121bcf3a /packages/backend/src/queue
parentfix: MkUserPopupが表示されてる状態でv-user-previewがついた要... (diff)
downloadsharkey-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.ts10
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';
}
}