X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Factivity_pub%2Fmrf%2Fno_placeholder_text_policy.ex;h=f25bb4efd537e016fba06b835a18e5276bbd0a62;hb=1f863f0a36ebb0648c3d39ecb7ea9e3d01deab60;hp=081456046bdb4f81ee00fa34a011b88c6a9f30bc;hpb=74346a7035d950ede143d65f8364194cb116aaf5;p=akkoma diff --git a/lib/pleroma/web/activity_pub/mrf/no_placeholder_text_policy.ex b/lib/pleroma/web/activity_pub/mrf/no_placeholder_text_policy.ex index 081456046..f25bb4efd 100644 --- a/lib/pleroma/web/activity_pub/mrf/no_placeholder_text_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/no_placeholder_text_policy.ex @@ -1,29 +1,28 @@ # Pleroma: A lightweight social networking server -# Copyright © 2019 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.ActivityPub.MRF.NoPlaceholderTextPolicy do - @behaviour Pleroma.Web.ActivityPub.MRF + @moduledoc "Ensure no content placeholder is present (such as the dot from mastodon)" + @behaviour Pleroma.Web.ActivityPub.MRF.Policy + + @impl true + def history_awareness, do: :auto @impl true def filter( %{ - "type" => "Create", - "object" => %{"content" => content, "attachment" => _attachment} = child_object + "type" => type, + "object" => %{"content" => content, "attachment" => _} = _child_object } = object ) - when content in [".", "

.

"] do - child_object = - child_object - |> Map.put("content", "") - - object = - object - |> Map.put("object", child_object) - - {:ok, object} + when type in ["Create", "Update"] and content in [".", "

.

"] do + {:ok, put_in(object, ["object", "content"], "")} end @impl true def filter(object), do: {:ok, object} + + @impl true + def describe, do: {:ok, %{}} end