rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy,
public: true
+config :pleroma, :activitypub, accept_blocks: true
+
config :pleroma, :mrf_simple,
media_removal: [],
media_nsfw: [],
end
end
+ @ap_config Application.get_env(:pleroma, :activitypub)
+ @accept_blocks Keyword.get(@ap_config, :accept_blocks)
+
def handle_incoming(
%{
"type" => "Undo",
"id" => id
} = _data
) do
- with %User{local: true} = blocked <- User.get_cached_by_ap_id(blocked),
+ with true <- @accept_blocks,
+ %User{local: true} = blocked <- User.get_cached_by_ap_id(blocked),
%User{} = blocker <- User.get_or_fetch_by_ap_id(blocker),
{:ok, activity} <- ActivityPub.unblock(blocker, blocked, id, false) do
User.unblock(blocker, blocked)
def handle_incoming(
%{"type" => "Block", "object" => blocked, "actor" => blocker, "id" => id} = data
) do
- with %User{local: true} = blocked = User.get_cached_by_ap_id(blocked),
+ with true <- @accept_blocks,
+ %User{local: true} = blocked = User.get_cached_by_ap_id(blocked),
%User{} = blocker = User.get_or_fetch_by_ap_id(blocker),
{:ok, activity} <- ActivityPub.block(blocker, blocked, id, false) do
User.unfollow(blocker, blocked)