mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
fix: 1b12 conformance for inbox.create as well
This commit is contained in:
@@ -47,13 +47,15 @@ inbox.create = async (req) => {
|
||||
const cid = await topics.getTopicField(response.tid, 'cid');
|
||||
const followers = await activitypub.notes.getCategoryFollowers(cid);
|
||||
if (followers.length) {
|
||||
await activitypub.send('cid', cid, followers, {
|
||||
id: `${object.id}#activity/announce/${Date.now()}`,
|
||||
type: 'Announce',
|
||||
to: [`${nconf.get('url')}/category/${cid}/followers`],
|
||||
cc: [activitypub._constants.publicAddress],
|
||||
object,
|
||||
});
|
||||
await Promise.all([req.body, object].map(async (object) => {
|
||||
await activitypub.send('cid', cid, followers, {
|
||||
id: `${object.id}#activity/announce/${Date.now()}`,
|
||||
type: 'Announce',
|
||||
to: [`${nconf.get('url')}/category/${cid}/followers`],
|
||||
cc: [activitypub._constants.publicAddress],
|
||||
object,
|
||||
});
|
||||
}));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -155,27 +155,16 @@ activitypubApi.create.note = enabledCheck(async (caller, { pid }) => {
|
||||
await activitypub.send('uid', caller.uid, Array.from(targets), payload);
|
||||
|
||||
if (followers.length) {
|
||||
// The 1b12 announce is just a wrapper around the same payload
|
||||
const announce = {
|
||||
id: `${object.id}#activity/announce/${Date.now()}`,
|
||||
type: 'Announce',
|
||||
to: [activitypub._constants.publicAddress],
|
||||
cc: [`${nconf.get('url')}/category/${cid}/followers`],
|
||||
object: payload,
|
||||
};
|
||||
const implicit = {
|
||||
id: `${object.id}#activity/announce/${Date.now()}`,
|
||||
type: 'Announce',
|
||||
to: [activitypub._constants.publicAddress],
|
||||
cc: [`${nconf.get('url')}/category/${cid}/followers`],
|
||||
object: payload.object,
|
||||
};
|
||||
|
||||
setTimeout(() => { // Delay sending to avoid potential race condition
|
||||
Promise.all([
|
||||
activitypub.send('cid', cid, followers, announce),
|
||||
activitypub.send('cid', cid, followers, implicit),
|
||||
]).catch(err => winston.error(err.stack));
|
||||
Promise.all([payload, payload.object].map(async (object) => {
|
||||
await activitypub.send('cid', cid, followers, {
|
||||
id: `${object.id}#activity/announce/${Date.now()}`,
|
||||
type: 'Announce',
|
||||
to: [activitypub._constants.publicAddress],
|
||||
cc: [`${nconf.get('url')}/category/${cid}/followers`],
|
||||
object,
|
||||
});
|
||||
})).catch(err => winston.error(err.stack));
|
||||
}, 5000);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user