diff --git a/keyserver/src/fetchers/thread-fetchers.js b/keyserver/src/fetchers/thread-fetchers.js --- a/keyserver/src/fetchers/thread-fetchers.js +++ b/keyserver/src/fetchers/thread-fetchers.js @@ -78,6 +78,10 @@ async function fetchServerThreadInfos( filter?: FetchThreadInfosFilter, ): Promise { + if (filter?.threadIDs?.size === 0) { + return { threadInfos: {} }; + } + let primaryFetchClause; if (filter?.accessibleToUserID) { primaryFetchClause = SQL` diff --git a/keyserver/src/updaters/thread-permission-updaters.js b/keyserver/src/updaters/thread-permission-updaters.js --- a/keyserver/src/updaters/thread-permission-updaters.js +++ b/keyserver/src/updaters/thread-permission-updaters.js @@ -1074,6 +1074,7 @@ }); } } + for (const row of membershipRowMap.values()) { const { userID, threadID } = row; if (row.operation === 'delete' || row.role === '-1') {