aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKokaKiwi <kokakiwi@kokakiwi.net>2019-02-24 18:45:29 +0100
committerThibaut Girka <thib@sitedethib.com>2019-10-01 17:47:43 +0200
commit1f0be71ea433971de874a71ba1dafd101f4301b6 (patch)
tree97ef8f0649194eb529ae8e26dfe8d382ae3fb1f2 /lib
parent51b5c539881e3cd96eb05a2bfef2ec9a62cea284 (diff)
downloadpleroma-1f0be71ea433971de874a71ba1dafd101f4301b6.tar.gz
Make activity announceable by its author.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex2
-rw-r--r--lib/pleroma/web/activity_pub/visibility.ex4
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