fix: update 1b12 rebroadcast logic to send as application actor if post is in remote cid

This commit is contained in:
Julian Lam
2025-10-15 12:03:26 -04:00
parent c25c629023
commit 79d088536a
2 changed files with 8 additions and 3 deletions

View File

@@ -21,12 +21,17 @@ Feps.announce = async function announce(id, activity) {
* - local tids (posted to remote cids) only
*/
const tid = await posts.getPostField(localId || id, 'tid');
const cid = await topics.getTopicField(tid, 'cid');
const shouldAnnounce = (utils.isNumber(cid) && cid > 0) || utils.isNumber(tid);
let cid = await topics.getTopicField(tid, 'cid');
const localCid = utils.isNumber(cid) && cid > 0;
const shouldAnnounce = localCid || utils.isNumber(tid);
if (!shouldAnnounce) { // inverse conditionals can kiss my ass.
return;
}
if (!localCid) {
cid = 0; // override cid to 0 so application actor sends the announce
}
let relays = await activitypub.relays.list();
relays = relays.reduce((memo, { state, url }) => {
if (state === 2) {

View File

@@ -225,7 +225,7 @@ Helpers.resolveActor = (type, id) => {
case 'category':
case 'cid': {
return `${nconf.get('url')}/category/${id}`;
return `${nconf.get('url')}${id > 0 ? `/category/${id}` : '/actor'}`;
}
default: