From f33ded310751dd1b4bfd6fb792eec9adfde7019e Mon Sep 17 00:00:00 2001 From: nullobsi Date: Thu, 2 Dec 2021 18:14:44 -0800 Subject: feat: Undo Accept (#7980) * allow breaking of follow * send undo * delete by using reject follow --- packages/backend/src/services/following/delete.ts | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'packages/backend/src/services') diff --git a/packages/backend/src/services/following/delete.ts b/packages/backend/src/services/following/delete.ts index 29e3372b6a..ea612147df 100644 --- a/packages/backend/src/services/following/delete.ts +++ b/packages/backend/src/services/following/delete.ts @@ -2,6 +2,7 @@ import { publishMainStream, publishUserEvent } from '@/services/stream'; import { renderActivity } from '@/remote/activitypub/renderer/index'; import renderFollow from '@/remote/activitypub/renderer/follow'; import renderUndo from '@/remote/activitypub/renderer/undo'; +import renderReject from '@/remote/activitypub/renderer/reject'; import { deliver } from '@/queue/index'; import Logger from '../logger'; import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc'; @@ -40,6 +41,12 @@ export default async function(follower: { id: User['id']; host: User['host']; ur const content = renderActivity(renderUndo(renderFollow(follower, followee), follower)); deliver(follower, content, followee.inbox); } + + if (Users.isLocalUser(followee) && Users.isRemoteUser(follower)) { + // local user has null host + const content = renderActivity(renderReject(renderFollow(follower, followee), followee)); + deliver(followee, content, follower.inbox); + } } export async function decrementFollowing(follower: { id: User['id']; host: User['host']; }, followee: { id: User['id']; host: User['host']; }) { -- cgit v1.2.3-freya