diff options
author | Sergey Suprunenko <suprunenko.s@gmail.com> | 2019-07-10 13:29:50 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2019-07-10 13:29:50 +0000 |
commit | ff55e3c16fa5764b37ca1ec85c26e819d07f0242 (patch) | |
tree | 48e012ef51fa981e7b21d656dcd96b153a385ab8 /lib | |
parent | f295b9fba9c8e54bd5a92447d55d0c60c0a0cc0c (diff) | |
download | pleroma-ff55e3c16fa5764b37ca1ec85c26e819d07f0242.tar.gz |
Create mentions only for explicitly mentioned users
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/mastodon_api/views/status_view.ex | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index a070bc942..06a7251d8 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -149,8 +149,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do tags = object.data["tag"] || [] sensitive = object.data["sensitive"] || Enum.member?(tags, "nsfw") + tag_mentions = + tags + |> Enum.filter(fn tag -> is_map(tag) and tag["type"] == "Mention" end) + |> Enum.map(fn tag -> tag["href"] end) + mentions = - activity.recipients + (object.data["to"] ++ tag_mentions) + |> Enum.uniq() |> Enum.map(fn ap_id -> User.get_cached_by_ap_id(ap_id) end) |> Enum.filter(& &1) |> Enum.map(fn user -> AccountView.render("mention.json", %{user: user}) end) |