From 8ca66b596120024b5141ce68c7614e762358c2a1 Mon Sep 17 00:00:00 2001 From: lain Date: Sun, 18 Feb 2018 13:58:52 +0100 Subject: [PATCH] ActivityPub: Add conversation id. --- lib/pleroma/web/activity_pub/transmogrifier.ex | 5 +++++ test/web/activity_pub/transmogrifier_test.exs | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 3781b212a..17cd3b1c2 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -104,6 +104,7 @@ def prepare_outgoing(%{"type" => "Create", "object" => %{"type" => "Note"} = obj |> add_mention_tags |> add_attributed_to |> prepare_attachments + |> set_conversation data = data |> Map.put("object", object) @@ -139,6 +140,10 @@ def add_mention_tags(object) do |> Map.put("tag", tags ++ mentions) end + def set_conversation(object) do + Map.put(object, "conversation", object["context"]) + end + def add_attributed_to(object) do attributedTo = object["attributedTo"] || object["actor"] diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index e2db615eb..ec608a86a 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -120,13 +120,14 @@ test "it turns mentions into tags" do assert Enum.member?(object["tag"], expected_mention) end - test "it adds the json-ld context" do + test "it adds the json-ld context and the conversation property" do user = insert(:user) {:ok, activity} = CommonAPI.post(user, %{"status" => "hey"}) {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data) assert modified["@context"] == "https://www.w3.org/ns/activitystreams" + assert modified["object"]["conversation"] == modified["context"] end test "it sets the 'attributedTo' property to the actor of the object if it doesn't have one" do