diff options
author | kPherox <admin@mail.kr-kp.com> | 2020-05-26 09:47:03 +0000 |
---|---|---|
committer | kPherox <admin@mail.kr-kp.com> | 2020-05-27 23:51:15 +0900 |
commit | 48fd9be65ae2c25e170e494720a07c126e80e2f6 (patch) | |
tree | dd0fa586953fe96246778934ef9d44406e01a28a /lib | |
parent | 6783d544b2d3856bda3f8f9136011923ee8b30fe (diff) | |
download | pleroma-48fd9be65ae2c25e170e494720a07c126e80e2f6.tar.gz |
Exclude post actor from to of relay announce
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/builder.ex | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/pleroma/web/activity_pub/builder.ex b/lib/pleroma/web/activity_pub/builder.ex index 7ece764f5..51b74414a 100644 --- a/lib/pleroma/web/activity_pub/builder.ex +++ b/lib/pleroma/web/activity_pub/builder.ex @@ -7,6 +7,7 @@ defmodule Pleroma.Web.ActivityPub.Builder do alias Pleroma.Object alias Pleroma.User + alias Pleroma.Web.ActivityPub.Relay alias Pleroma.Web.ActivityPub.Utils alias Pleroma.Web.ActivityPub.Visibility @@ -85,15 +86,20 @@ defmodule Pleroma.Web.ActivityPub.Builder do end end + @spec announce(User.t(), Object.t(), keyword()) :: {:ok, map(), keyword()} def announce(actor, object, options \\ []) do public? = Keyword.get(options, :public, false) - to = [actor.follower_address, object.data["actor"]] to = - if public? do - [Pleroma.Constants.as_public() | to] - else - to + cond do + actor.ap_id == Relay.relay_ap_id() -> + [actor.follower_address] + + public? -> + [actor.follower_address, object.data["actor"], Pleroma.Constants.as_public()] + + true -> + [actor.follower_address, object.data["actor"]] end {:ok, |