From 19a47e38358002ec8a5417e212534e9d03a025f8 Mon Sep 17 00:00:00 2001 From: piuvas Date: Fri, 29 Nov 2024 19:50:47 -0300 Subject: [PATCH] improve query --- packages/backend/src/core/QueryService.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts index 926e3c9ba9..ad253a0138 100644 --- a/packages/backend/src/core/QueryService.ts +++ b/packages/backend/src/core/QueryService.ts @@ -89,10 +89,11 @@ export class QueryService { .where('note.renoteUserId IS NULL') .orWhere(`note.renoteUserId NOT IN (${ blockingQuery.getQuery() })`); })) + // filter out renotes where the user being replied to is muted. .andWhere(new Brackets(qb => { qb - .where('(SELECT note.replyUserId FROM note WHERE note.id = renote.Id) IS NULL') - .orWhere(`(SELECT note.replyUserId FROM note WHERE note.id = renote.Id) NOT IN (${ blockingQuery.getQuery() })`); + .where('(SELECT "replyUserId" FROM note n WHERE "n".id = note.renoteId) IS NULL') + .orWhere(`(SELECT "replyUserId" FROM note n WHERE "n".id = note.renoteId) NOT IN (${ blockingQuery.getQuery() })`); })); q.setParameters(blockingQuery.getParameters()); @@ -160,10 +161,11 @@ export class QueryService { .where('note.renoteUserId IS NULL') .orWhere(`note.renoteUserId NOT IN (${ mutingQuery.getQuery() })`); })) + // filter out renotes where the user being replied to is muted. .andWhere(new Brackets(qb => { qb - .where('(SELECT note.replyUserId FROM note WHERE note.id = renote.Id) IS NULL') - .orWhere(`(SELECT note.replyUserId FROM note WHERE note.id = renote.Id) NOT IN (${ mutingQuery.getQuery() })`); + .where('(SELECT "replyUserId" FROM note n WHERE "n".id = note.renoteId) IS NULL') + .orWhere(`(SELECT "replyUserId" FROM note n WHERE "n".id = note.renoteId) NOT IN (${ mutingQuery.getQuery() })`); })) // mute instances .andWhere(new Brackets(qb => {