aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTusooa Zhu <tusooa@kazv.moe>2022-07-23 22:23:57 -0400
committerTusooa Zhu <tusooa@kazv.moe>2022-07-23 22:23:57 -0400
commit0a337063e14a63b3ed80776b493e3c9c56dd95d1 (patch)
tree2aa709c22476de1c089c919bcde6aa56f77d38c3 /lib
parentcd19537f391b792ee67c728320801d5a247ceb2c (diff)
downloadpleroma-0a337063e14a63b3ed80776b493e3c9c56dd95d1.tar.gz
Make ForceMentionsInContent history-aware
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex b/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex
index 255910b2f..70224561c 100644
--- a/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex
+++ b/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex
@@ -11,6 +11,9 @@ defmodule Pleroma.Web.ActivityPub.MRF.ForceMentionsInContent do
@behaviour Pleroma.Web.ActivityPub.MRF.Policy
+ @impl true
+ def history_awareness, do: :auto
+
defp do_extract({:a, attrs, _}, acc) do
if Enum.find(attrs, fn {name, value} ->
name == "class" && value in ["mention", "u-url mention", "mention u-url"]
@@ -74,11 +77,11 @@ defmodule Pleroma.Web.ActivityPub.MRF.ForceMentionsInContent do
@impl true
def filter(
%{
- "type" => "Create",
+ "type" => type,
"object" => %{"type" => "Note", "to" => to, "inReplyTo" => in_reply_to}
} = object
)
- when is_list(to) and is_binary(in_reply_to) do
+ when type in ["Create", "Update"] and is_list(to) and is_binary(in_reply_to) do
# image-only posts from pleroma apparently reach this MRF without the content field
content = object["object"]["content"] || ""