From 9c9b5bb44ca72fd3cd5c734500d42cb61b89282e Mon Sep 17 00:00:00 2001 From: Francis Dinh Date: Wed, 9 Nov 2022 14:41:04 -0500 Subject: [PATCH] send reject follow if federateBlocks is false --- packages/backend/src/services/blocking/create.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/services/blocking/create.ts b/packages/backend/src/services/blocking/create.ts index b1c1c5e6d..c05c81e55 100644 --- a/packages/backend/src/services/blocking/create.ts +++ b/packages/backend/src/services/blocking/create.ts @@ -11,6 +11,7 @@ import { Blockings, Users, FollowRequests, Followings, UserListJoinings, UserLis import { perUserFollowingChart } from '@/services/chart/index.js'; import { genId } from '@/misc/gen-id.js'; import { getActiveWebhooks } from '@/misc/webhook-cache.js'; +import { rejectFollow } from '../following/reject.js'; export default async function(blocker: User, blockee: User) { await Promise.all([ @@ -32,9 +33,14 @@ export default async function(blocker: User, blockee: User) { await Blockings.insert(blocking); - if (Users.isLocalUser(blocker) && Users.isRemoteUser(blockee) && blocker.federateBlocks) { - const content = renderActivity(renderBlock(blocking)); - deliver(blocker, content, blockee.inbox); + if (Users.isLocalUser(blocker) && Users.isRemoteUser(blockee)) { + if (blocker.federateBlocks) { + const content = renderActivity(renderBlock(blocking)); + deliver(blocker, content, blockee.inbox); + } else { + // Send a Reject Follow activity to the user being blocked to prevent them from reading follower-only posts. + rejectFollow(blocker, blockee); + } } }