diff options
| author | nullobsi <me@nullob.si> | 2021-12-02 18:14:44 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-03 11:14:44 +0900 |
| commit | f33ded310751dd1b4bfd6fb792eec9adfde7019e (patch) | |
| tree | 737d44379317d8ab0362cc438fbc8ad5b9c6dc9d /packages/backend/src/services | |
| parent | add todo (diff) | |
| download | misskey-f33ded310751dd1b4bfd6fb792eec9adfde7019e.tar.gz misskey-f33ded310751dd1b4bfd6fb792eec9adfde7019e.tar.bz2 misskey-f33ded310751dd1b4bfd6fb792eec9adfde7019e.zip | |
feat: Undo Accept (#7980)
* allow breaking of follow
* send undo
* delete by using reject follow
Diffstat (limited to 'packages/backend/src/services')
| -rw-r--r-- | packages/backend/src/services/following/delete.ts | 7 |
1 files changed, 7 insertions, 0 deletions
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']; }) { |