diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 4 | ||||
| -rw-r--r-- | lib/pleroma/web/activity_pub/utils.ex | 8 | 
2 files changed, 7 insertions, 5 deletions
| diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 4955243ab..d752f4f04 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -439,7 +439,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do    end    defp do_block(blocker, blocked, activity_id, local) do -    outgoing_blocks = Config.get([:activitypub, :outgoing_blocks])      unfollow_blocked = Config.get([:activitypub, :unfollow_blocked])      if unfollow_blocked do @@ -447,8 +446,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do        if follow_activity, do: unfollow(blocker, blocked, nil, local)      end -    with true <- outgoing_blocks, -         block_data <- make_block_data(blocker, blocked, activity_id), +    with block_data <- make_block_data(blocker, blocked, activity_id),           {:ok, activity} <- insert(block_data, local),           _ <- notify_and_stream(activity),           :ok <- maybe_federate(activity) do diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex index 09b80fa57..f2375bcc4 100644 --- a/lib/pleroma/web/activity_pub/utils.ex +++ b/lib/pleroma/web/activity_pub/utils.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.ActivityPub.Utils do    alias Ecto.Changeset    alias Ecto.UUID    alias Pleroma.Activity +  alias Pleroma.Config    alias Pleroma.Notification    alias Pleroma.Object    alias Pleroma.Repo @@ -169,8 +170,11 @@ defmodule Pleroma.Web.ActivityPub.Utils do    Enqueues an activity for federation if it's local    """    @spec maybe_federate(any()) :: :ok -  def maybe_federate(%Activity{local: true} = activity) do -    if Pleroma.Config.get!([:instance, :federating]) do +  def maybe_federate(%Activity{local: true, data: %{"type" => type}} = activity) do +    outgoing_blocks = Config.get([:activitypub, :outgoing_blocks]) + +    with true <- Config.get!([:instance, :federating]), +         true <- type != "Block" || outgoing_blocks do        Pleroma.Web.Federator.publish(activity)      end | 
