diff options
author | Lain Soykaf <lain@lain.com> | 2023-06-11 16:45:31 +0400 |
---|---|---|
committer | Lain Soykaf <lain@lain.com> | 2023-06-11 16:45:31 +0400 |
commit | 6611c6ce4ef3fe76bc9a5eb53677d3b6cde22793 (patch) | |
tree | 7c68de33feb4975988b78b5e62881c22817addf3 /lib | |
parent | 55dd8ef1c799bcfee803e68028af733a697711d1 (diff) | |
download | pleroma-6611c6ce4ef3fe76bc9a5eb53677d3b6cde22793.tar.gz pleroma-6611c6ce4ef3fe76bc9a5eb53677d3b6cde22793.zip |
B ForceMentionsInContent: Fix test, refactor.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex | 8 |
1 files changed, 5 insertions, 3 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 b9b175cc3..5532093cb 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 @@ -95,11 +95,13 @@ defmodule Pleroma.Web.ActivityPub.MRF.ForceMentionsInContent do |> Enum.reject(&is_nil/1) |> sort_replied_user(replied_to_user) - explicitly_mentioned_uris = extract_mention_uris_from_content(content) + explicitly_mentioned_uris = + extract_mention_uris_from_content(content) + |> MapSet.new() added_mentions = - Enum.reduce(mention_users, "", fn %User{ap_id: api_id, uri: uri} = user, acc -> - unless Enum.any?([api_id, uri], fn u -> u in explicitly_mentioned_uris end) do + Enum.reduce(mention_users, "", fn %User{ap_id: ap_id, uri: uri} = user, acc -> + if MapSet.disjoint?(MapSet.new([ap_id, uri]), explicitly_mentioned_uris) do acc <> Formatter.mention_from_user(user, %{mentions_format: :compact}) <> " " else acc |