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