diff options
| author | anatawa12 <anatawa12@icloud.com> | 2025-04-28 07:21:00 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-28 07:21:00 +0900 |
| commit | ec92bf47f1ba8def29ed55997be590e3491270ab (patch) | |
| tree | 52b8873dd146eeb9b2fda9348b1c84da4b5d8fe6 /packages/backend/src/core/SearchService.ts | |
| parent | Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff) | |
| download | sharkey-ec92bf47f1ba8def29ed55997be590e3491270ab.tar.gz sharkey-ec92bf47f1ba8def29ed55997be590e3491270ab.tar.bz2 sharkey-ec92bf47f1ba8def29ed55997be590e3491270ab.zip | |
Exclude blocked instance note from most timelines (#15792)
* Exclude blocked instance note from most timelines
* Exclude blocked instance note from FTT timelines
* Exclude blocked instance note from featured
* fix type
Diffstat (limited to 'packages/backend/src/core/SearchService.ts')
| -rw-r--r-- | packages/backend/src/core/SearchService.ts | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/packages/backend/src/core/SearchService.ts b/packages/backend/src/core/SearchService.ts index aa787c93de..d94281920e 100644 --- a/packages/backend/src/core/SearchService.ts +++ b/packages/backend/src/core/SearchService.ts @@ -234,6 +234,7 @@ export class SearchService { } this.queryService.generateVisibilityQuery(query, me); + this.queryService.generateBlockedHostQueryForNote(query); if (me) this.queryService.generateMutedUserQueryForNotes(query, me); if (me) this.queryService.generateBlockedUserQueryForNotes(query, me); @@ -295,9 +296,14 @@ export class SearchService { this.cacheService.userBlockedCache.fetch(me.id), ]) : [new Set<string>(), new Set<string>()]; - const notes = (await this.notesRepository.findBy({ - id: In(res.hits.map(x => x.id)), - })).filter(note => { + + const query = this.notesRepository.createQueryBuilder('note'); + + query.where('note.id IN (:...noteIds)', { noteIds: res.hits.map(x => x.id) }); + + this.queryService.generateBlockedHostQueryForNote(query); + + const notes = (await query.getMany()).filter(note => { if (me && isUserRelated(note, userIdsWhoBlockingMe)) return false; if (me && isUserRelated(note, userIdsWhoMeMuting)) return false; return true; |