summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-06-03 17:32:42 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-06-03 17:32:42 -0400
commit324217d102323847f7c31b0c6733bf47e8182d39 (patch)
tree160034a2ff1f56f893453f320e09bc53a84625de /packages/backend/src/server/api
parentfix antenna channel (diff)
downloadsharkey-324217d102323847f7c31b0c6733bf47e8182d39.tar.gz
sharkey-324217d102323847f7c31b0c6733bf47e8182d39.tar.bz2
sharkey-324217d102323847f7c31b0c6733bf47e8182d39.zip
handle silenced notes in Channel.isNoteMutedOrBlocked
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/stream/channel.ts9
-rw-r--r--packages/backend/src/server/api/stream/channels/antenna.ts5
-rw-r--r--packages/backend/src/server/api/stream/channels/bubble-timeline.ts6
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);