diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index e561b32fe..550ecb74f 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -1,7 +1,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do use Pleroma.Web, :view alias Pleroma.Web.MastodonAPI.{AccountView, StatusView} - alias Pleroma.User + alias Pleroma.{User, Activity} def render("index.json", opts) do render_many(opts.activities, StatusView, "status.json", opts) @@ -31,13 +31,17 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity} |> NaiveDateTime.to_iso8601 |> String.replace(~r/(\.\d+)?$/, ".000Z", global: false) + # TODO: Add cached version. + reply_to = Activity.get_create_activity_by_object_ap_id(object["inReplyTo"]) + reply_to_user = reply_to && User.get_cached_by_ap_id(reply_to.data["actor"]) + %{ id: activity.id, uri: object["id"], url: object["external_url"], account: AccountView.render("account.json", %{user: user}), - in_reply_to_id: object["inReplyToStatusId"], - in_reply_to_account_id: nil, + in_reply_to_id: reply_to && reply_to.id, + in_reply_to_account_id: reply_to_user && reply_to_user.id, reblog: nil, content: HtmlSanitizeEx.basic_html(object["content"]), created_at: created_at,