From dd904ab8fa6657336f3e1f1721383c0326d22e89 Mon Sep 17 00:00:00 2001 From: Ariadne Conill Date: Mon, 26 Aug 2019 04:39:00 +0000 Subject: visibility: improve visibility functions since the SQL one is gone now --- lib/pleroma/web/activity_pub/visibility.ex | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/activity_pub/visibility.ex b/lib/pleroma/web/activity_pub/visibility.ex index 398c65d97..06eab0a7e 100644 --- a/lib/pleroma/web/activity_pub/visibility.ex +++ b/lib/pleroma/web/activity_pub/visibility.ex @@ -14,7 +14,10 @@ defmodule Pleroma.Web.ActivityPub.Visibility do def is_public?(%Object{data: data}), do: is_public?(data) def is_public?(%Activity{data: data}), do: is_public?(data) def is_public?(%{"directMessage" => true}), do: false - def is_public?(data), do: Pleroma.Constants.as_public() in (data["to"] ++ (data["cc"] || [])) + def is_public?(%{"to" => to} = data), do: Pleroma.Constants.as_public() in (to ++ (data["cc"] || [])) + def is_public?(%{"type" => "Create"}), do: false + def is_public?(%{"type" => _}), do: true + def is_public?(_), do: false def is_private?(activity) do with false <- is_public?(activity), @@ -53,7 +56,7 @@ defmodule Pleroma.Web.ActivityPub.Visibility do def visible_for_user?(activity, user) do x = [user.ap_id | user.following] - y = [activity.actor] ++ activity.data["to"] ++ (activity.data["cc"] || []) + y = [activity.actor] ++ activity.recipients visible_for_user?(activity, nil) || Enum.any?(x, &(&1 in y)) end -- cgit v1.2.3