aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib')
-rw-r--r--server/lib/job-queue/handlers/activitypub-follow.ts6
1 files changed, 6 insertions, 0 deletions
diff --git a/server/lib/job-queue/handlers/activitypub-follow.ts b/server/lib/job-queue/handlers/activitypub-follow.ts
index 4a7cda0a2..94eeed4c0 100644
--- a/server/lib/job-queue/handlers/activitypub-follow.ts
+++ b/server/lib/job-queue/handlers/activitypub-follow.ts
@@ -17,6 +17,7 @@ export type ActivitypubFollowPayload = {
17 name: string 17 name: string
18 host: string 18 host: string
19 isAutoFollow?: boolean 19 isAutoFollow?: boolean
20 assertIsChannel?: boolean
20} 21}
21 22
22async function processActivityPubFollow (job: Bull.Job) { 23async function processActivityPubFollow (job: Bull.Job) {
@@ -34,6 +35,11 @@ async function processActivityPubFollow (job: Bull.Job) {
34 targetActor = await getOrCreateActorAndServerAndModel(actorUrl, 'all') 35 targetActor = await getOrCreateActorAndServerAndModel(actorUrl, 'all')
35 } 36 }
36 37
38 if (payload.assertIsChannel && !targetActor.VideoChannel) {
39 logger.warn('Do not follow %s@%s because it is not a channel.', name, host)
40 return
41 }
42
37 const fromActor = await ActorModel.load(payload.followerActorId) 43 const fromActor = await ActorModel.load(payload.followerActorId)
38 44
39 return retryTransactionWrapper(follow, fromActor, targetActor, payload.isAutoFollow) 45 return retryTransactionWrapper(follow, fromActor, targetActor, payload.isAutoFollow)