Commit 6f090f98 authored by feld's avatar feld
Browse files

Attempt to fix incorrect federation of default instance avatars

parent 15aa94f4
......@@ -90,6 +90,14 @@ def avatar_url(user) do
end
end
# Do not return instance default avatar for federation
def avatar_url_ap(user) do
case user.avatar do
%{"url" => [%{"href" => href} | _]} -> href
_ -> nil
end
end
def banner_url(user) do
case user.info.banner do
%{"url" => [%{"href" => href} | _]} -> href
......
......@@ -230,6 +230,21 @@ def update_object_in_activities(%{data: %{"id" => id}} = object) do
end)
end
# Only federate user icon if not nil
# Prevents federating instance default avatars
def maybe_make_icon(user) do
if User.avatar_url_ap(user) do
%{
"icon" => %{
"type" => "Image",
"url" => User.avatar_url_ap(user)
}
}
else
[]
end
end
#### Like-related helpers
@doc """
......
......@@ -87,16 +87,13 @@ def render("user.json", %{user: user}) do
"publicKeyPem" => public_key
},
"endpoints" => endpoints,
"icon" => %{
"type" => "Image",
"url" => User.avatar_url(user)
},
"image" => %{
"type" => "Image",
"url" => User.banner_url(user)
},
"tag" => user.info.source_data["tag"] || []
}
|> Map.merge(Utils.maybe_make_icon(user))
|> Map.merge(Utils.make_json_ld_header())
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment