refactor: use getSortedSetUnion in syncUserInboxes instead

This commit is contained in:
Julian Lam
2024-03-26 13:39:34 -04:00
parent 5efe8abd15
commit 6c1a0fb1dc

View File

@@ -319,12 +319,15 @@ Notes.syncUserInboxes = async function (tid) {
]);
pids.unshift(mainPid);
const recipients = await db.getSetsMembers(pids.map(id => `post:${id}:recipients`));
const uids = recipients.reduce((set, uids) => new Set([...set, ...uids.map(u => parseInt(u, 10))]), new Set());
const keys = Array.from(uids).map(uid => `uid:${uid}:inbox`);
const uids = await db.getSortedSetUnion({
sets: pids.map(id => `post:${id}:recipients`),
start: 0,
stop: -1,
});
const keys = uids.map(uid => `uid:${uid}:inbox`);
const score = await db.sortedSetScore(`cid:${cid}:tids`, tid);
winston.verbose(`[activitypub/syncUserInboxes] Syncing tid ${tid} with ${uids.size} inboxes`);
winston.verbose(`[activitypub/syncUserInboxes] Syncing tid ${tid} with ${uids.length} inboxes`);
await db.sortedSetsAdd(keys, keys.map(() => score || Date.now()), tid);
};