diff --git a/http/handler/api/restream.go b/http/handler/api/restream.go index e3f3f758..6dc2e6a3 100644 --- a/http/handler/api/restream.go +++ b/http/handler/api/restream.go @@ -366,6 +366,7 @@ func (h *RestreamHandler) GetReport(c echo.Context) error { filteredReport := api.ProcessReport{} + // Add the current report as a fake history entry report.History = append(report.History, api.ProcessReportEntry{ CreatedAt: report.CreatedAt, Prelude: report.Prelude, @@ -395,7 +396,7 @@ func (h *RestreamHandler) GetReport(c echo.Context) error { } sort.SliceStable(entries, func(i, j int) bool { - return entries[i].CreatedAt < entries[j].CreatedAt + return entries[i].CreatedAt > entries[j].CreatedAt }) if entries[0].ExitState == "" { @@ -403,9 +404,11 @@ func (h *RestreamHandler) GetReport(c echo.Context) error { filteredReport.CreatedAt = entries[0].CreatedAt filteredReport.Prelude = entries[0].Prelude filteredReport.Log = entries[0].Log - } - filteredReport.History = entries[1:] + filteredReport.History = entries[1:] + } else { + filteredReport.History = entries + } return c.JSON(http.StatusOK, filteredReport) } diff --git a/http/handler/api/restream_test.go b/http/handler/api/restream_test.go index c75ddbf4..87c20ffb 100644 --- a/http/handler/api/restream_test.go +++ b/http/handler/api/restream_test.go @@ -368,7 +368,7 @@ func TestProcessReportAt(t *testing.T) { err = json.Unmarshal(response.Raw, &x) require.NoError(t, err) - require.Equal(t, 1, len(x.History)) + require.Equal(t, 2, len(x.History)) } func TestSearchReportHistory(t *testing.T) {