Fix following from Preroma does not complete (#2905)

* In Follow Accept/Reject, send previous received id

* In Follow Accept/Reject, send Activity.actor
This commit is contained in:
MeiMei
2018-10-15 16:51:23 +09:00
committed by syuilo
parent 2ad2779096
commit 49dbd7f9d2
9 changed files with 40 additions and 14 deletions

View File

@@ -29,7 +29,12 @@ export default async function(followee: IUser, follower: IUser) {
});
if (isRemoteUser(follower)) {
const content = pack(renderAccept(renderFollow(follower, followee)));
const request = await FollowRequest.findOne({
followeeId: followee._id,
followerId: follower._id
});
const content = pack(renderAccept(renderFollow(follower, followee, request.requestId), followee as ILocalUser));
deliver(followee as ILocalUser, content, follower.inbox);
}

View File

@@ -6,11 +6,12 @@ import renderFollow from '../../../remote/activitypub/renderer/follow';
import { deliver } from '../../../queue';
import FollowRequest from '../../../models/follow-request';
export default async function(follower: IUser, followee: IUser) {
export default async function(follower: IUser, followee: IUser, requestId?: string) {
await FollowRequest.insert({
createdAt: new Date(),
followerId: follower._id,
followeeId: followee._id,
requestId,
// 非正規化
_follower: {

View File

@@ -8,7 +8,12 @@ import { publishMainStream } from '../../../stream';
export default async function(followee: IUser, follower: IUser) {
if (isRemoteUser(follower)) {
const content = pack(renderReject(renderFollow(follower, followee)));
const request = await FollowRequest.findOne({
followeeId: followee._id,
followerId: follower._id
});
const content = pack(renderReject(renderFollow(follower, followee, request.requestId), followee as ILocalUser));
deliver(followee as ILocalUser, content, follower.inbox);
}