From bd4d8694dda63dfe8093e605bcb9184231818cad Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Fri, 15 Dec 2023 11:24:13 +0900 Subject: perf: early return users/notes and users/featured-notes if me is blocked by requesting user (#12663) --- packages/backend/src/server/api/endpoints/users/notes.ts | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'packages/backend/src/server/api/endpoints/users/notes.ts') diff --git a/packages/backend/src/server/api/endpoints/users/notes.ts b/packages/backend/src/server/api/endpoints/users/notes.ts index b32128a8aa..b485126ed8 100644 --- a/packages/backend/src/server/api/endpoints/users/notes.ts +++ b/packages/backend/src/server/api/endpoints/users/notes.ts @@ -86,6 +86,14 @@ export default class extends Endpoint { // eslint- if (ps.withReplies && ps.withFiles) throw new ApiError(meta.errors.bothWithRepliesAndWithFiles); + // early return if me is blocked by requesting user + if (me != null) { + const userIdsWhoBlockingMe = await this.cacheService.userBlockedCache.fetch(me.id); + if (userIdsWhoBlockingMe.has(ps.userId)) { + return []; + } + } + if (!serverSettings.enableFanoutTimeline) { const timeline = await this.getFromDb({ untilId, -- cgit v1.2.3-freya