diff options
author | rinpatch <rinpatch@sdf.org> | 2019-05-09 22:27:00 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-05-09 22:27:00 +0300 |
commit | e4523c301023de0d4cff5ca0168094fea25955a2 (patch) | |
tree | 151bc29623a2ab24020f01020b8c0e1d738ed99c /lib | |
parent | c2efc689d11aff541a1851d9bb16954c7907d653 (diff) | |
download | pleroma-e4523c301023de0d4cff5ca0168094fea25955a2.tar.gz |
Fix get_in_reply_to in OStatus' activity representer depending on embedded objects
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/ostatus/activity_representer.ex | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/pleroma/web/ostatus/activity_representer.ex b/lib/pleroma/web/ostatus/activity_representer.ex index 166691a09..a7832a3d9 100644 --- a/lib/pleroma/web/ostatus/activity_representer.ex +++ b/lib/pleroma/web/ostatus/activity_representer.ex @@ -18,15 +18,18 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do end end - defp get_in_reply_to(%{"object" => %{"inReplyTo" => in_reply_to}}) do - [ - {:"thr:in-reply-to", - [ref: to_charlist(in_reply_to), href: to_charlist(get_href(in_reply_to))], []} - ] + defp get_in_reply_to(activity) do + with %Object{data: %{"inReplyTo" => in_reply_to}} <- Object.normalize(activity) do + [ + {:"thr:in-reply-to", + [ref: to_charlist(in_reply_to), href: to_charlist(get_href(in_reply_to))], []} + ] + else + _ -> + [] + end end - defp get_in_reply_to(_), do: [] - defp get_mentions(to) do Enum.map(to, fn id -> cond do @@ -98,7 +101,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do []} end) - in_reply_to = get_in_reply_to(activity.data) + in_reply_to = get_in_reply_to(activity) author = if with_author, do: [{:author, UserRepresenter.to_simple_form(user)}], else: [] mentions = activity.recipients |> get_mentions |