aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-12-30 15:22:49 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2020-12-30 15:22:49 +0300
commit8d1a0c1afd46f8683e9022523cecffb9b60c9f8c (patch)
tree2ad23709057b1834770c602b24225105472a8365
parente0b5edb6d5a423bfd247e0774d2f5bc642b2fb80 (diff)
downloadpleroma-8d1a0c1afd46f8683e9022523cecffb9b60c9f8c.tar.gz
[#3213] Made Object.object_data_hashtags/1 handle both AS2 and plain text hashtags.
-rw-r--r--lib/pleroma/object.ex4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/pleroma/object.ex b/lib/pleroma/object.ex
index dad572f2b..7e79e15ee 100644
--- a/lib/pleroma/object.ex
+++ b/lib/pleroma/object.ex
@@ -405,16 +405,18 @@ defmodule Pleroma.Object do
defp embedded_hashtags(_), do: []
defp object_data_hashtags(%{"tag" => tags}) when is_list(tags) do
- # Note: Old format with copy of hashtags as strings is ignored, using AS2
tags
|> Enum.filter(fn
%{"type" => "Hashtag"} = data -> Map.has_key?(data, "name")
+ plain_text when is_bitstring(plain_text) -> true
_ -> false
end)
|> Enum.map(fn
%{"name" => "#" <> hashtag} -> String.downcase(hashtag)
%{"name" => hashtag} -> String.downcase(hashtag)
+ hashtag when is_bitstring(hashtag) -> String.downcase(hashtag)
end)
+ |> Enum.uniq()
end
defp object_data_hashtags(_), do: []