From ac8fad242260a4f220278ff41e02d071b3db66ca Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 1 Jun 2025 14:34:58 -0400 Subject: [PATCH 1/2] fix logic error in generateBlockedHostQueryForNote that would allow blocked instances if allowSilenced was set to false --- packages/backend/src/core/QueryService.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts index 1b00f41d20..14d4caff06 100644 --- a/packages/backend/src/core/QueryService.ts +++ b/packages/backend/src/core/QueryService.ts @@ -263,8 +263,12 @@ export class QueryService { .orWhere(`note.${key}Host IS NULL`) // local .orWhere(`${key}Instance.isBlocked = false`); // not blocked - if (!allowSilenced) { - qb.orWhere(`${key}Instance.isSilenced = false`); // not silenced + if (allowSilenced) { + qb.orWhere(`${key}Instance.isBlocked = false`); // not blocked + } else { + qb.orWhere(new Brackets(qbb => qbb + .andWhere(`${key}Instance.isBlocked = false`) // not blocked + .andWhere(`${key}Instance.isSilenced = false`))); // not silenced } if (excludeAuthor) { From a50a11fb4cf70b187421eefd738cf904c15b3f47 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 1 Jun 2025 15:25:54 -0400 Subject: [PATCH 2/2] remove duplicate isBlocked check from generateBlockedHostQueryForNote --- packages/backend/src/core/QueryService.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts index 14d4caff06..5cec55412d 100644 --- a/packages/backend/src/core/QueryService.ts +++ b/packages/backend/src/core/QueryService.ts @@ -260,8 +260,7 @@ export class QueryService { q.leftJoin(`note.${key}Instance`, `${key}Instance`); q.andWhere(new Brackets(qb => { qb.orWhere(`note.${key}Id IS NULL`) // no corresponding user - .orWhere(`note.${key}Host IS NULL`) // local - .orWhere(`${key}Instance.isBlocked = false`); // not blocked + .orWhere(`note.${key}Host IS NULL`); // local if (allowSilenced) { qb.orWhere(`${key}Instance.isBlocked = false`); // not blocked