Don't save double tags in AP objects we create

This crashed Mastodon workers.
This commit is contained in:
lain 2018-05-23 17:25:24 +02:00
parent 06c97f211f
commit 0b5bc62b33
2 changed files with 14 additions and 1 deletions

View file

@ -133,7 +133,7 @@ defmodule Pleroma.Web.CommonAPI.Utils do
"context" => context, "context" => context,
"attachment" => attachments, "attachment" => attachments,
"actor" => actor, "actor" => actor,
"tag" => tags |> Enum.map(fn {_, tag} -> tag end) "tag" => tags |> Enum.map(fn {_, tag} -> tag end) |> Enum.uniq()
} }
if inReplyTo do if inReplyTo do

View file

@ -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