TwitterAPI: support follow activities without published date.
[akkoma] / lib / pleroma / web / ostatus / activity_representer.ex
index cfc342fca46257e42e36a50ed6fdc253054e0879..33e5e000990ea893f463cbc09579b1bc2556548b 100644 (file)
@@ -56,9 +56,9 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
 
   defp get_links(_activity), do: []
 
-  defp get_emoji_links(content) do
-    Enum.map(Formatter.get_emoji(content), fn({emoji, file}) ->
-      {:link, [name: to_charlist(emoji), rel: 'emoji', href: to_charlist("#{Pleroma.Web.Endpoint.static_url}#{file}")], []}
+  defp get_emoji_links(emojis) do
+    Enum.map(emojis, fn({emoji, file}) ->
+      {:link, [name: to_charlist(emoji), rel: 'emoji', href: to_charlist(file)], []}
     end)
   end
 
@@ -76,12 +76,12 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
 
     in_reply_to = get_in_reply_to(activity.data)
     author = if with_author, do: [{:author, UserRepresenter.to_simple_form(user)}], else: []
-    mentions = activity.data["to"] |> get_mentions
+    mentions = activity.recipients |> get_mentions
 
     categories = (activity.data["object"]["tag"] || [])
     |> Enum.map(fn (tag) -> {:category, [term: to_charlist(tag)], []} end)
 
-    emoji_links = get_emoji_links(activity.data["object"]["content"] || "")
+    emoji_links = get_emoji_links(activity.data["object"]["emoji"] || %{})
 
     summary = if activity.data["object"]["summary"] do
       [{:summary, [], h.(activity.data["object"]["summary"])}]
@@ -110,7 +110,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
 
     _in_reply_to = get_in_reply_to(activity.data)
     author = if with_author, do: [{:author, UserRepresenter.to_simple_form(user)}], else: []
-    mentions = activity.data["to"] |> get_mentions
+    mentions = activity.recipients |> get_mentions
 
     [
       {:"activity:verb", ['http://activitystrea.ms/schema/1.0/favorite']},
@@ -144,7 +144,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
 
     retweeted_xml = to_simple_form(retweeted_activity, retweeted_user, true)
 
-    mentions = activity.data["to"] |> get_mentions
+    mentions = activity.recipients |> get_mentions
     [
       {:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
       {:"activity:verb", ['http://activitystrea.ms/schema/1.0/share']},
@@ -168,7 +168,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
 
     author = if with_author, do: [{:author, UserRepresenter.to_simple_form(user)}], else: []
 
-    mentions = (activity.data["to"] || []) |> get_mentions
+    mentions = (activity.recipients || []) |> get_mentions
     [
       {:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
       {:"activity:verb", ['http://activitystrea.ms/schema/1.0/follow']},
@@ -196,7 +196,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
     author = if with_author, do: [{:author, UserRepresenter.to_simple_form(user)}], else: []
     follow_activity = Activity.get_by_ap_id(activity.data["object"])
 
-    mentions = (activity.data["to"] || []) |> get_mentions
+    mentions = (activity.recipients || []) |> get_mentions
     [
       {:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
       {:"activity:verb", ['http://activitystrea.ms/schema/1.0/unfollow']},