ActivityPub: Add conversation id.
authorlain <lain@soykaf.club>
Sun, 18 Feb 2018 12:58:52 +0000 (13:58 +0100)
committerlain <lain@soykaf.club>
Sun, 18 Feb 2018 12:58:52 +0000 (13:58 +0100)
lib/pleroma/web/activity_pub/transmogrifier.ex
test/web/activity_pub/transmogrifier_test.exs

index 3781b212a10aa15b06b32a3a9c7255f9f6a55b5c..17cd3b1c2754ad4edf30f6015729d1c91ac8700c 100644 (file)
@@ -104,6 +104,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
     |> add_mention_tags
     |> add_attributed_to
     |> prepare_attachments
+    |> set_conversation
 
     data = data
     |> Map.put("object", object)
@@ -139,6 +140,10 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier 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"]
 
index e2db615ebe95233042f0c8e19b242b368e62d5a8..ec608a86a019d710548720313c6e9e50ab90d3e8 100644 (file)
@@ -120,13 +120,14 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest 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