R-621: the hold panel points at the log the hold kept

A held app's page now says, inside the hold panel, that the app's own log from
before it was stopped was kept, with a Napló link to the logs page that serves
it (0b93e1a). Shown only for an update hold with a non-empty kept log
(Manager.HoldLogKept). New copy through the bundle (hu + en), parity case
app_info_hold_log captured when born.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-06 01:29:08 +02:00
parent ff1758a21c
commit 0f2eab7a3e
8 changed files with 701 additions and 1 deletions
+7
View File
@@ -896,6 +896,13 @@ func (s *Server) appDetailHandler(w http.ResponseWriter, r *http.Request, slug s
data["AutoUpdateLine"] = s.msg(r, "app_info.auto_update_done", undoneWhen(found.AppConfig.LastAutoUpdate.At))
}
// R-621: a held app's own log, kept by the hold before its containers were removed, is reachable
// from the hold panel — the panel says it was kept and links the logs page that serves it. Only
// for an update hold (an unhealthy stop keeps no log), and only when a non-empty log exists.
if found.Deployed && found.HoldReason != "" && found.HoldKind != "unhealthy_stop" && s.stackMgr != nil {
data["HoldLogKept"] = s.stackMgr.HoldLogKept(found.Name)
}
s.executeTemplate(w, r, "app_info", data)
}