Basic queue.
[akkoma] / lib / pleroma / web / ostatus / activity_representer.ex
index 9e3a9abcb95d98ab2dd84b5f8b1f0301253791e9..717670852fc37e566dd0013478b64a228616e977 100644 (file)
@@ -3,7 +3,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
   alias Pleroma.Web.OStatus.UserRepresenter
   require Logger
 
-  defp get_in_reply_to(%{"object" => %{ "inReplyTo" => in_reply_to}}) do
+  defp get_in_reply_to(%{"object" => %{"inReplyTo" => in_reply_to}}) do
     [{:"thr:in-reply-to", [ref: to_charlist(in_reply_to)], []}]
   end
 
@@ -51,7 +51,8 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
       {:published, h.(inserted_at)},
       {:updated, h.(updated_at)},
       {:"ostatus:conversation", [], h.(activity.data["context"])},
-      {:link, [href: h.(activity.data["context"]), rel: 'ostatus:conversation'], []}
+      {:link, [href: h.(activity.data["context"]), rel: 'ostatus:conversation'], []},
+      {:link, [type: ['application/atom+xml'], href: h.(activity.data["object"]["id"]), rel: 'self'], []}
     ] ++ attachments ++ in_reply_to ++ author ++ mentions
   end
 
@@ -80,6 +81,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
       ]},
       {:"ostatus:conversation", [], h.(activity.data["context"])},
       {:link, [href: h.(activity.data["context"]), rel: 'ostatus:conversation'], []},
+      {:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []},
       {:"thr:in-reply-to", [ref: to_charlist(activity.data["object"])], []}
     ] ++ author ++ mentions
   end
@@ -98,10 +100,11 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
     retweeted_activity = Activity.get_create_activity_by_object_ap_id(activity.data["object"])
     retweeted_user = User.get_cached_by_ap_id(retweeted_activity.data["actor"])
 
-    retweeted_xml = to_simple_form(retweeted_activity, retweeted_user)
+    retweeted_xml = to_simple_form(retweeted_activity, retweeted_user, true)
 
     mentions = activity.data["to"] |> get_mentions
     [
+      {:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
       {:"activity:verb", ['http://activitystrea.ms/schema/1.0/share']},
       {:id, h.(activity.data["id"])},
       {:title, ['#{user.nickname} repeated a notice']},
@@ -110,7 +113,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
       {:updated, h.(updated_at)},
       {:"ostatus:conversation", [], h.(activity.data["context"])},
       {:link, [href: h.(activity.data["context"]), rel: 'ostatus:conversation'], []},
-      {:"thr:in-reply-to", [ref: to_charlist(activity.data["object"])], []},
+      {:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []},
       {:"activity:object", retweeted_xml}
     ] ++ mentions ++ author
   end
@@ -127,5 +130,5 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
     }]
   end
 
-  def to_simple_form(_,_,_), do: nil
+  def to_simple_form(_, _, _), do: nil
 end