diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-06-03 17:32:42 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-06-03 17:32:42 -0400 |
| commit | 324217d102323847f7c31b0c6733bf47e8182d39 (patch) | |
| tree | 160034a2ff1f56f893453f320e09bc53a84625de /packages/backend/src/server/api | |
| parent | fix antenna channel (diff) | |
| download | sharkey-324217d102323847f7c31b0c6733bf47e8182d39.tar.gz sharkey-324217d102323847f7c31b0c6733bf47e8182d39.tar.bz2 sharkey-324217d102323847f7c31b0c6733bf47e8182d39.zip | |
handle silenced notes in Channel.isNoteMutedOrBlocked
Diffstat (limited to 'packages/backend/src/server/api')
3 files changed, 9 insertions, 11 deletions
diff --git a/packages/backend/src/server/api/stream/channel.ts b/packages/backend/src/server/api/stream/channel.ts index d32ccc6450..3a82865577 100644 --- a/packages/backend/src/server/api/stream/channel.ts +++ b/packages/backend/src/server/api/stream/channel.ts @@ -97,6 +97,15 @@ export default abstract class Channel { // If it's a boost (pure renote) then we need to check the target as well if (isPackedPureRenote(note) && note.renote && this.isNoteMutedOrBlocked(note.renote)) return true; + // Hide silenced notes + if (note.user.isSilenced || note.user.instance?.isSilenced) { + if (this.user == null) return true; + if (this.user.id === note.userId) return false; + if (this.following[note.userId] == null) return true; + } + + // TODO muted threads + return false; } diff --git a/packages/backend/src/server/api/stream/channels/antenna.ts b/packages/backend/src/server/api/stream/channels/antenna.ts index af1fed9cee..0974dbdb25 100644 --- a/packages/backend/src/server/api/stream/channels/antenna.ts +++ b/packages/backend/src/server/api/stream/channels/antenna.ts @@ -43,11 +43,6 @@ class AntennaChannel extends Channel { if (this.isNoteMutedOrBlocked(note)) return; - if (note.user.isSilenced || note.user.instance?.isSilenced) { - if (!this.user) return; - if (note.userId !== this.user.id && !this.following[note.userId]) return; - } - this.send('note', note); } else { this.send(data.type, data.body); diff --git a/packages/backend/src/server/api/stream/channels/bubble-timeline.ts b/packages/backend/src/server/api/stream/channels/bubble-timeline.ts index ddd11f19c9..6f41fbd437 100644 --- a/packages/backend/src/server/api/stream/channels/bubble-timeline.ts +++ b/packages/backend/src/server/api/stream/channels/bubble-timeline.ts @@ -60,12 +60,6 @@ class BubbleTimelineChannel extends Channel { if (!this.utilityService.isBubbledHost(note.user.host)) return; if (isRenotePacked(note) && !isQuotePacked(note) && !this.withRenotes) return; - - if (note.user.isSilenced) { - if (!this.user) return; - if (note.userId !== this.user.id && !this.following[note.userId]) return; - } - if (this.isNoteMutedOrBlocked(note)) return; const clonedNote = await this.assignMyReaction(note); |