aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSergey Suprunenko <suprunenko.s@gmail.com>2019-07-10 13:29:50 +0000
committerkaniini <nenolod@gmail.com>2019-07-10 13:29:50 +0000
commitff55e3c16fa5764b37ca1ec85c26e819d07f0242 (patch)
tree48e012ef51fa981e7b21d656dcd96b153a385ab8 /lib
parentf295b9fba9c8e54bd5a92447d55d0c60c0a0cc0c (diff)
downloadpleroma-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.ex8
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)