diff options
| -rw-r--r-- | changelog.d/stream-follow-relationships-count.fix | 1 | ||||
| -rw-r--r-- | lib/pleroma/web/views/streamer_view.ex | 26 | 
2 files changed, 20 insertions, 7 deletions
diff --git a/changelog.d/stream-follow-relationships-count.fix b/changelog.d/stream-follow-relationships-count.fix new file mode 100644 index 000000000..68452a88b --- /dev/null +++ b/changelog.d/stream-follow-relationships-count.fix @@ -0,0 +1 @@ +StreamerView: Do not leak follows count if hidden
\ No newline at end of file diff --git a/lib/pleroma/web/views/streamer_view.ex b/lib/pleroma/web/views/streamer_view.ex index f97570b0a..6016d821b 100644 --- a/lib/pleroma/web/views/streamer_view.ex +++ b/lib/pleroma/web/views/streamer_view.ex @@ -109,7 +109,11 @@ 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      %{        stream: render("stream.json", %{topic: topic}),        event: "pleroma:follow_relationships_update", @@ -117,14 +121,22 @@ 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: +              if(!following.hide_followers_count or !following.hide_followers, +                do: following.follower_count, +                else: 0 +              ), +            following_count: +              if(!following.hide_follows_count or !following.hide_follows, +                do: following.following_count, +                else: 0 +              )            }          }          |> Jason.encode!()  | 
