diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts index 51d3f1e2ea..cf2419a9eb 100644 --- a/packages/backend/src/core/QueryService.ts +++ b/packages/backend/src/core/QueryService.ts @@ -261,11 +261,14 @@ 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.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) {