diff options
| author | anatawa12 <anatawa12@icloud.com> | 2025-05-29 13:13:07 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-29 13:13:07 +0900 |
| commit | 367dac4edd4e25281b2978e7d509e9a57a002bdb (patch) | |
| tree | c2c01effada893d224261bff5f8fe07f6f4b67a7 /packages/backend/src/server/api/endpoints/users | |
| parent | fix tests (diff) | |
| download | misskey-367dac4edd4e25281b2978e7d509e9a57a002bdb.tar.gz misskey-367dac4edd4e25281b2978e7d509e9a57a002bdb.tar.bz2 misskey-367dac4edd4e25281b2978e7d509e9a57a002bdb.zip | |
Fix: ミュート対象ユーザーが引用されているノートがRNされたときにミュートを貫通してしまう問題 (#16009)
* chore: change 3rd parameter of generateMutedUserQueryForNotes to options
* chore: allow specifying note column for note/block query
* chore: check for mute / block for renote of note with DB query
* chore: check for mute / block for renote of note with FTT
* refactor: ミュート・ブロックのためのクエリ呼び出しを一つの関数にまとめる
* docs(changelog): ミュート対象ユーザーが引用されているノートがRNされたときにミュートを貫通してしまう問題を修正
* fix missing default parameter
* Update is-user-related.ts
* test: add tests for mutes
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/users')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/users/notes.ts | 10 | ||||
| -rw-r--r-- | packages/backend/src/server/api/endpoints/users/recommendation.ts | 1 |
2 files changed, 5 insertions, 6 deletions
diff --git a/packages/backend/src/server/api/endpoints/users/notes.ts b/packages/backend/src/server/api/endpoints/users/notes.ts index 0c64df569d..5832790a61 100644 --- a/packages/backend/src/server/api/endpoints/users/notes.ts +++ b/packages/backend/src/server/api/endpoints/users/notes.ts @@ -186,12 +186,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- } this.queryService.generateVisibilityQuery(query, me); - this.queryService.generateBlockedHostQueryForNote(query, true); - this.queryService.generateSuspendedUserQueryForNote(query, true); - if (me) { - this.queryService.generateMutedUserQueryForNotes(query, me, { id: ps.userId }); - this.queryService.generateBlockedUserQueryForNotes(query, me); - } + this.queryService.generateBaseNoteFilteringQuery(query, me, { + excludeAuthor: true, + excludeUserFromMute: ps.userId, + }); if (ps.withFiles) { query.andWhere('note.fileIds != \'{}\''); diff --git a/packages/backend/src/server/api/endpoints/users/recommendation.ts b/packages/backend/src/server/api/endpoints/users/recommendation.ts index 5b1c6b514b..769a72d7a1 100644 --- a/packages/backend/src/server/api/endpoints/users/recommendation.ts +++ b/packages/backend/src/server/api/endpoints/users/recommendation.ts @@ -64,6 +64,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- this.queryService.generateMutedUserQueryForUsers(query, me); this.queryService.generateBlockQueryForUsers(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me); + this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' }); const followingQuery = this.followingsRepository.createQueryBuilder('following') .select('following.followeeId') |