List messages must be visible for mentioned users

This commit is contained in:
Egor Kislitsyn 2019-07-15 14:54:40 +07:00
commit de13c9bb8f
3 changed files with 8 additions and 7 deletions

View file

@ -39,10 +39,11 @@ defmodule Pleroma.Web.ActivityPub.Visibility do
def visible_for_user?(%{actor: ap_id}, %User{ap_id: ap_id}), do: true
def visible_for_user?(%{data: %{"listMessage" => list_ap_id}}, %User{} = user) do
list_ap_id
|> Pleroma.List.get_by_ap_id()
|> Pleroma.List.member?(user)
def visible_for_user?(%{data: %{"listMessage" => list_ap_id}} = activity, %User{} = user) do
user.ap_id in activity.data["to"] ||
list_ap_id
|> Pleroma.List.get_by_ap_id()
|> Pleroma.List.member?(user)
end
def visible_for_user?(%{data: %{"listMessage" => _}}, nil), do: false