X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Factivity_pub%2Fvisibility.ex;h=02d4e195a030c9a00ffaa31027995f57ab9d440a;hb=a079ec3a3cdfd42d2cbd51c7698c2c87828e5778;hp=98b69f0b780dc75fbc0c49ce9cb3065ec14f92da;hpb=3928cecf6bc0bdfc3172482ed6541b141facb83c;p=akkoma diff --git a/lib/pleroma/web/activity_pub/visibility.ex b/lib/pleroma/web/activity_pub/visibility.ex index 98b69f0b7..02d4e195a 100644 --- a/lib/pleroma/web/activity_pub/visibility.ex +++ b/lib/pleroma/web/activity_pub/visibility.ex @@ -85,11 +85,9 @@ defmodule Pleroma.Web.ActivityPub.Visibility do x = [user.ap_id | User.following(user)] y = [message.data["actor"]] ++ message.data["to"] ++ (message.data["cc"] || []) - if is_local_public?(message) do - user.local - else - is_public?(message) || Enum.any?(x, &(&1 in y)) - end + user_is_local = user.local + federatable = not is_local_public?(message) + (is_public?(message) || Enum.any?(x, &(&1 in y))) and (user_is_local || federatable) end def entire_thread_visible_for_user?(%Activity{} = activity, %User{} = user) do