summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorfeld <feld@feld.me>2024-08-07 16:17:58 +0000
committerfeld <feld@feld.me>2024-08-07 16:17:58 +0000
commit351a306d462ae804ee9d0bbc9f8e7781caf34533 (patch)
tree0398c52ec83faa3f326d0a1abe207ee0e48f45f8 /lib
parenta2490ddd9fe449b8799687c47b01d6072e35bbf4 (diff)
parentad7fe4e95de42a91ef46a88a3f2863682c68ec5d (diff)
downloadpleroma-351a306d462ae804ee9d0bbc9f8e7781caf34533.tar.gz
pleroma-351a306d462ae804ee9d0bbc9f8e7781caf34533.zip
Merge branch 'stream-follow-relationships-count' into 'develop'
StreamerView: Do not leak follows count if hidden See merge request pleroma/pleroma!4205
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/views/streamer_view.ex32
1 files changed, 25 insertions, 7 deletions
diff --git a/lib/pleroma/web/views/streamer_view.ex b/lib/pleroma/web/views/streamer_view.ex
index f97570b0a..079a37351 100644
--- a/lib/pleroma/web/views/streamer_view.ex
+++ b/lib/pleroma/web/views/streamer_view.ex
@@ -109,7 +109,25 @@ defmodule Pleroma.Web.StreamerView do
|> Jason.encode!()
end
- def render("follow_relationships_update.json", item, topic) do
+ def render(
+ "follow_relationships_update.json",
+ %{follower: follower, following: following} = item,
+ topic
+ ) do
+ following_follower_count =
+ if Enum.any?([following.hide_followers_count, following.hide_followers]) do
+ 0
+ else
+ following.follower_count
+ end
+
+ following_following_count =
+ if Enum.any?([following.hide_follows_count, following.hide_follows]) do
+ 0
+ else
+ following.following_count
+ end
+
%{
stream: render("stream.json", %{topic: topic}),
event: "pleroma:follow_relationships_update",
@@ -117,14 +135,14 @@ defmodule Pleroma.Web.StreamerView do
%{
state: item.state,
follower: %{
- id: item.follower.id,
- follower_count: item.follower.follower_count,
- following_count: item.follower.following_count
+ id: follower.id,
+ follower_count: follower.follower_count,
+ following_count: follower.following_count
},
following: %{
- id: item.following.id,
- follower_count: item.following.follower_count,
- following_count: item.following.following_count
+ id: following.id,
+ follower_count: following_follower_count,
+ following_count: following_following_count
}
}
|> Jason.encode!()