summaryrefslogtreecommitdiff
path: root/packages/backend/src/services
diff options
context:
space:
mode:
authornullobsi <me@nullob.si>2021-12-02 18:14:44 -0800
committerGitHub <noreply@github.com>2021-12-03 11:14:44 +0900
commitf33ded310751dd1b4bfd6fb792eec9adfde7019e (patch)
tree737d44379317d8ab0362cc438fbc8ad5b9c6dc9d /packages/backend/src/services
parentadd todo (diff)
downloadmisskey-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.ts7
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']; }) {