From 6c1a0fb1dccd5a813f093b073080d82ab0ff8ea0 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 26 Mar 2024 13:39:34 -0400 Subject: [PATCH] refactor: use getSortedSetUnion in syncUserInboxes instead --- src/activitypub/notes.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/activitypub/notes.js b/src/activitypub/notes.js index 6c1397d304..103fa5a8ba 100644 --- a/src/activitypub/notes.js +++ b/src/activitypub/notes.js @@ -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); };