diff options
author | feld <feld@feld.me> | 2024-08-07 16:17:58 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2024-08-07 16:17:58 +0000 |
commit | 351a306d462ae804ee9d0bbc9f8e7781caf34533 (patch) | |
tree | 0398c52ec83faa3f326d0a1abe207ee0e48f45f8 /lib | |
parent | a2490ddd9fe449b8799687c47b01d6072e35bbf4 (diff) | |
parent | ad7fe4e95de42a91ef46a88a3f2863682c68ec5d (diff) | |
download | pleroma-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.ex | 32 |
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!() |