From 8c43c5cae6fa15dbf8ab22fb761359202856fbbb Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Sat, 18 Nov 2023 23:15:59 +0100 Subject: [PATCH] [backend] Make inverse postgres FTS filters consistent with regular ones --- .../src/server/api/common/generate-fts-query.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/server/api/common/generate-fts-query.ts b/packages/backend/src/server/api/common/generate-fts-query.ts index 073fccd3d..9188bdce5 100644 --- a/packages/backend/src/server/api/common/generate-fts-query.ts +++ b/packages/backend/src/server/api/common/generate-fts-query.ts @@ -143,8 +143,12 @@ function instanceFilter(query: SelectQueryBuilder, filter: string, id: numb } function instanceFilterInverse(query: SelectQueryBuilder, filter: string, id: number) { - query.andWhere(`note.userHost <> :instance_${id}`); - query.setParameter(`instance_${id}`, filter); + if (filter === 'local') { + query.andWhere(`note.userHost IS NOT NULL`); + } else { + query.andWhere(`note.userHost <> :instance_${id}`); + query.setParameter(`instance_${id}`, filter); + } } function miscFilter(query: SelectQueryBuilder, filter: string) { @@ -176,7 +180,7 @@ function miscFilterInverse(query: SelectQueryBuilder, filter: string) { subQuery = Followings.createQueryBuilder('following') .select('following.followeeId') .where('following.followerId = :meId') - } else if (filter === 'replies') { + } else if (filter === 'replies' || filter === 'reply') { query.andWhere('note.replyId IS NULL'); } else if (filter === 'boosts' || filter === 'boost' || filter === 'renotes' || filter === 'renote') { query.andWhere('note.renoteId IS NULL');