From 464bc27574406c551ee2d2ce55da15c23af31b2d Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 12 Mar 2026 12:41:39 -0400 Subject: [PATCH 1/2] fix: accidental hardcoded cid --- src/controllers/activitypub/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/activitypub/index.js b/src/controllers/activitypub/index.js index 22da06cf6c..086e90933b 100644 --- a/src/controllers/activitypub/index.js +++ b/src/controllers/activitypub/index.js @@ -224,7 +224,7 @@ Controller.getCategoryOutbox = async (req, res) => { count, page, perPage: 20, - url: `${nconf.get('url')}/category/1/outbox`, + url: `${nconf.get('url')}/category/${cid}/outbox`, }); if (collection.orderedItems) { collection.orderedItems = await Promise.all(collection.orderedItems.map(async (pid) => { From c8e349ca662609c490d0c593704938d71b814abe Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 12 Mar 2026 12:48:09 -0400 Subject: [PATCH 2/2] fix: update Like/Dislike to have addressees in activity --- src/activitypub/mocks.js | 36 ++++++++++++++++++++++++------------ src/activitypub/out.js | 2 +- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/activitypub/mocks.js b/src/activitypub/mocks.js index 5eb0ed10d1..030175fb36 100644 --- a/src/activitypub/mocks.js +++ b/src/activitypub/mocks.js @@ -986,19 +986,31 @@ Mocks.activities.create = async (pid, uid, post) => { return { activity, targets }; }; -Mocks.activities.like = (pid, uid) => ({ - id: `${nconf.get('url')}/uid/${uid}#activity/like/${encodeURIComponent(pid)}`, - type: 'Like', - actor: `${nconf.get('url')}/uid/${uid}`, - object: utils.isNumber(pid) ? `${nconf.get('url')}/post/${pid}` : pid, -}); +Mocks.activities.like = async (pid, uid) => { + const authorUid = await posts.getPostField(pid, 'uid'); -Mocks.activities.dislike = (pid, uid) => ({ - id: `${nconf.get('url')}/uid/${uid}#activity/dislike/${encodeURIComponent(pid)}`, - type: 'Dislike', - actor: `${nconf.get('url')}/uid/${uid}`, - object: utils.isNumber(pid) ? `${nconf.get('url')}/post/${pid}` : pid, -}); + return { + id: `${nconf.get('url')}/uid/${uid}#activity/like/${encodeURIComponent(pid)}`, + type: 'Like', + actor: `${nconf.get('url')}/uid/${uid}`, + to: [activitypub._constants.publicAddress], + cc: [authorUid], + object: utils.isNumber(pid) ? `${nconf.get('url')}/post/${pid}` : pid, + }; +}; + +Mocks.activities.dislike = async (pid, uid) => { + const authorUid = await posts.getPostField(pid, 'uid'); + + return { + id: `${nconf.get('url')}/uid/${uid}#activity/dislike/${encodeURIComponent(pid)}`, + type: 'Dislike', + actor: `${nconf.get('url')}/uid/${uid}`, + to: [activitypub._constants.publicAddress], + cc: [authorUid], + object: utils.isNumber(pid) ? `${nconf.get('url')}/post/${pid}` : pid, + }; +}; Mocks.activities.announce = async (tid, uid) => { const { mainPid: pid, cid } = await topics.getTopicFields(tid, ['mainPid', 'cid']); diff --git a/src/activitypub/out.js b/src/activitypub/out.js index d0f075bdb5..45d902fb05 100644 --- a/src/activitypub/out.js +++ b/src/activitypub/out.js @@ -254,7 +254,7 @@ Out.delete.note = enabledCheck(async (uid, pid) => { Out.like = {}; Out.like.note = enabledCheck(async (uid, pid) => { - const payload = activitypub.mocks.activities.like(pid, uid); + const payload = await activitypub.mocks.activities.like(pid, uid); if (!activitypub.helpers.isUri(pid)) { // only 1b12 announce for local likes await activitypub.feps.announce(pid, payload);