diff options
author | KokaKiwi <kokakiwi@kokakiwi.net> | 2019-02-24 18:45:29 +0100 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2019-10-01 17:47:43 +0200 |
commit | 1f0be71ea433971de874a71ba1dafd101f4301b6 (patch) | |
tree | 97ef8f0649194eb529ae8e26dfe8d382ae3fb1f2 /lib | |
parent | 51b5c539881e3cd96eb05a2bfef2ec9a62cea284 (diff) | |
download | pleroma-1f0be71ea433971de874a71ba1dafd101f4301b6.tar.gz |
Make activity announceable by its author.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 2 | ||||
-rw-r--r-- | lib/pleroma/web/activity_pub/visibility.ex | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 95f994c17..c58b48443 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -346,7 +346,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do local \\ true, public \\ true ) do - with true <- is_public?(object), + with true <- is_announceable?(object, user), announce_data <- make_announce_data(user, object, activity_id, public), {:ok, activity} <- insert(announce_data, local), {:ok, object} <- add_announce_to_object(activity, object), diff --git a/lib/pleroma/web/activity_pub/visibility.ex b/lib/pleroma/web/activity_pub/visibility.ex index dfb166b65..021efd30f 100644 --- a/lib/pleroma/web/activity_pub/visibility.ex +++ b/lib/pleroma/web/activity_pub/visibility.ex @@ -27,6 +27,10 @@ defmodule Pleroma.Web.ActivityPub.Visibility do end end + def is_announceable?(activity, user) do + is_public?(activity) || activity.data["actor"] == user.ap_id + end + def is_direct?(%Activity{data: %{"directMessage" => true}}), do: true def is_direct?(%Object{data: %{"directMessage" => true}}), do: true |