Show original status at the first of history

This commit is contained in:
Tusooa Zhu 2022-06-11 19:52:07 -04:00 committed by FloatingGhost
parent a01cb6624e
commit 9c31797806
2 changed files with 6 additions and 7 deletions

View File

@ -434,13 +434,12 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|> Enum.map(&Map.put(&1, "id", object.data["id"]))
|> Enum.map(&%Object{data: &1, id: object.id})
history = [object | past_history]
history_len = length(history)
history =
Enum.zip(history_len..0, history)
|> Enum.map(fn {chrono_order, object} ->
[object | past_history]
# Mastodon expects the original to be at the first
|> Enum.reverse()
|> Enum.with_index()
|> Enum.map(fn {object, chrono_order} ->
%{
# The history is prepended every time there is a new edit.
# In chrono_order, the oldest item is always at 0, and so on.

View File

@ -2113,7 +2113,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
conn = get(conn, "/api/v1/statuses/#{activity.id}/history")
assert [_, %{"spoiler_text" => "title 2"}, %{"spoiler_text" => "title 1"}] =
assert [%{"spoiler_text" => "title 1"}, %{"spoiler_text" => "title 2"}, _] =
json_response_and_validate_schema(conn, 200)
end
end