Merge branch 'stream-follow-relationships-count' into 'develop'

StreamerView: Do not leak follows count if hidden

See merge request pleroma/pleroma!4205
This commit is contained in:
feld 2024-08-07 16:17:58 +00:00
commit 351a306d46
3 changed files with 126 additions and 7 deletions

View file

@ -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!()