mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: only 1b12 announce topic fork if OP is local, fix race condition in tests
This commit is contained in:
@@ -8,6 +8,7 @@ const privileges = require('../privileges');
|
|||||||
const plugins = require('../plugins');
|
const plugins = require('../plugins');
|
||||||
const meta = require('../meta');
|
const meta = require('../meta');
|
||||||
const activitypub = require('../activitypub');
|
const activitypub = require('../activitypub');
|
||||||
|
const utils = require('../utils');
|
||||||
|
|
||||||
module.exports = function (Topics) {
|
module.exports = function (Topics) {
|
||||||
Topics.createTopicFromPosts = async function (uid, title, pids, fromTid, cid) {
|
Topics.createTopicFromPosts = async function (uid, title, pids, fromTid, cid) {
|
||||||
@@ -90,8 +91,11 @@ module.exports = function (Topics) {
|
|||||||
Topics.events.log(fromTid, { type: 'fork', uid, href: `/topic/${tid}` }),
|
Topics.events.log(fromTid, { type: 'fork', uid, href: `/topic/${tid}` }),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const { activity } = await activitypub.mocks.activities.create(pids[0], uid);
|
// ideally we should federate a "move" activity instead, then can capture remote posts too. tbd
|
||||||
await activitypub.feps.announce(pids[0], activity);
|
if (utils.isNumber(pids[0])) {
|
||||||
|
const { activity } = await activitypub.mocks.activities.create(pids[0], uid);
|
||||||
|
await activitypub.feps.announce(pids[0], activity);
|
||||||
|
}
|
||||||
|
|
||||||
plugins.hooks.fire('action:topic.fork', { tid, fromTid, uid });
|
plugins.hooks.fire('action:topic.fork', { tid, fromTid, uid });
|
||||||
|
|
||||||
|
|||||||
@@ -80,10 +80,8 @@ describe('FEPs', () => {
|
|||||||
content: utils.generateUUID(),
|
content: utils.generateUUID(),
|
||||||
});
|
});
|
||||||
const { tid } = topicData;
|
const { tid } = topicData;
|
||||||
const [{ pid: reply1Pid }, { pid: reply2Pid }] = await Promise.all([
|
const { pid: reply1Pid } = await topics.reply({ uid, tid, content: utils.generateUUID() });
|
||||||
topics.reply({ uid, tid, content: utils.generateUUID() }),
|
const { pid: reply2Pid } = await topics.reply({ uid, tid, content: utils.generateUUID() });
|
||||||
topics.reply({ uid, tid, content: utils.generateUUID() }),
|
|
||||||
]);
|
|
||||||
await topics.createTopicFromPosts(
|
await topics.createTopicFromPosts(
|
||||||
adminUid, utils.generateUUID(), [reply1Pid, reply2Pid], tid, cid
|
adminUid, utils.generateUUID(), [reply1Pid, reply2Pid], tid, cid
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user