diff options
author | lain <lain@soykaf.club> | 2018-05-23 17:25:24 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2018-05-23 17:25:24 +0200 |
commit | 0b5bc62b33a655488afe73b35945adcbab11300d (patch) | |
tree | fa2bc3e558d827fa4448f288105429f4a3aa6619 | |
parent | 06c97f211fc4a8c9c9c7e77143c3398ade817ab4 (diff) | |
download | pleroma-0b5bc62b33a655488afe73b35945adcbab11300d.tar.gz |
Don't save double tags in AP objects we create
This crashed Mastodon workers.
-rw-r--r-- | lib/pleroma/web/common_api/utils.ex | 2 | ||||
-rw-r--r-- | test/web/common_api/common_api_test.exs | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex index e774743a2..71412eea8 100644 --- a/lib/pleroma/web/common_api/utils.ex +++ b/lib/pleroma/web/common_api/utils.ex @@ -133,7 +133,7 @@ defmodule Pleroma.Web.CommonAPI.Utils do "context" => context, "attachment" => attachments, "actor" => actor, - "tag" => tags |> Enum.map(fn {_, tag} -> tag end) + "tag" => tags |> Enum.map(fn {_, tag} -> tag end) |> Enum.uniq() } if inReplyTo do diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs new file mode 100644 index 000000000..b597e6e0a --- /dev/null +++ b/test/web/common_api/common_api_test.exs @@ -0,0 +1,13 @@ +defmodule Pleroma.Web.CommonAPI.UtilsTest do + use Pleroma.DataCase + alias Pleroma.Web.CommonAPI + + import Pleroma.Factory + + test "it de-duplicates tags" do + user = insert(:user) + {:ok, activity} = CommonAPI.post(user, %{"status" => "#2hu #2HU"}) + + assert activity.data["object"]["tag"] == ["2hu"] + end +end |