diff --git a/src/topics/fork.js b/src/topics/fork.js index d86322a9df..da0875cb9c 100644 --- a/src/topics/fork.js +++ b/src/topics/fork.js @@ -7,6 +7,7 @@ const categories = require('../categories'); const privileges = require('../privileges'); const plugins = require('../plugins'); const meta = require('../meta'); +const activitypub = require('../activitypub'); module.exports = function (Topics) { Topics.createTopicFromPosts = async function (uid, title, pids, fromTid, cid) { @@ -83,6 +84,7 @@ module.exports = function (Topics) { }), db.sortedSetsAdd(['topics:votes', `cid:${cid}:tids:votes`], postData.votes, tid), Topics.events.log(fromTid, { type: 'fork', uid, href: `/topic/${tid}` }), + activitypub.feps.announceObject(pids[0]), ]); plugins.hooks.fire('action:topic.fork', { tid: tid, fromTid: fromTid, uid: uid }); diff --git a/test/activitypub/feps.js b/test/activitypub/feps.js index 02b484ad9e..1ec838b557 100644 --- a/test/activitypub/feps.js +++ b/test/activitypub/feps.js @@ -83,6 +83,12 @@ describe('FEPs', () => { ); assert.strictEqual(activitypub._sent.size, 1); + + const key = Array.from(activitypub._sent.keys())[0]; + const activity = activitypub._sent.get(key); + + assert(activity); + assert.strictEqual(activity.object, `${nconf.get('url')}/post/${reply1Pid}`); }); }); });