fix: skip follower count check if cid follower is found

This commit is contained in:
Julian Lam
2024-06-12 14:15:39 -04:00
parent cdc6f9f6a3
commit f29214e007

View File

@@ -198,8 +198,7 @@ inbox.announce = async (req) => {
cid = Array.from(cids)[0]; cid = Array.from(cids)[0];
} }
if (String(object.id).startsWith(nconf.get('url'))) { if (String(object.id).startsWith(nconf.get('url'))) { // Local object
// Local object
const { type, id } = await activitypub.helpers.resolveLocalId(object.id); const { type, id } = await activitypub.helpers.resolveLocalId(object.id);
if (type !== 'post' || !(await posts.exists(id))) { if (type !== 'post' || !(await posts.exists(id))) {
throw new Error('[[error:activitypub.invalid-id]]'); throw new Error('[[error:activitypub.invalid-id]]');
@@ -209,13 +208,15 @@ inbox.announce = async (req) => {
tid = await posts.getPostField(id, 'tid'); tid = await posts.getPostField(id, 'tid');
socketHelpers.sendNotificationToPostOwner(pid, actor, 'announce', 'notifications:activitypub.announce'); socketHelpers.sendNotificationToPostOwner(pid, actor, 'announce', 'notifications:activitypub.announce');
} else { } else { // Remote object
// Remote object // Follower check
const numFollowers = await activitypub.actors.getLocalFollowersCount(actor); if (!cid) {
if (!numFollowers) { const numFollowers = await activitypub.actors.getLocalFollowersCount(actor);
winston.info(`[activitypub/inbox.announce] Rejecting ${object.id} via ${actor} due to no followers`); if (!numFollowers) {
reject('Announce', object, actor); winston.info(`[activitypub/inbox.announce] Rejecting ${object.id} via ${actor} due to no followers`);
return; reject('Announce', object, actor);
return;
}
} }
// Handle case where Announce(Create(Note)) is received // Handle case where Announce(Create(Note)) is received