boxwart: Update-Verlauf zeigt das echte Ergebnis je Baustein, festgehaltene Bausteine sichtbar
Ampel / ampel (push) Failing after 22s

Der Verlauf las bisher nur den Hermes-Cron-Status ("Skript lief") und zeigte die
Laeufe vom 06. und 13.09. als "durchgelaufen", obwohl dort zurueckgerollt und
festgehalten wurde; ein abgebrochener Lauf stand als "laeuft" da. Jetzt kommt der
Verlauf aus dem Meldeprotokoll (~/mc2-notify.log), also aus dem, was autoupdate.sh
selbst je Baustein meldet.

Festgehaltene Bausteine (Pin-Register) werden zum Waechter-Hinweis mit Knopf
"Freigeben", auf der Updates-Seite markiert und in der Updates-Lampe gezaehlt.
Hermes zeigt seine laufende Version und die Zahl der neuen Aenderungen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-09-23 21:56:19 +02:00
co-authored by Claude Opus 5.5
parent f3af2adec3
commit 790de19f1a
21 changed files with 544 additions and 80 deletions
+14 -5
View File
@@ -46,6 +46,8 @@ export const useSicherungen = () =>
export interface UpdateDetails {
kind: string
installed_version?: string | null
behind?: number
installed_build?: number | null
latest_build?: number | null
latest_tag?: string | null
@@ -66,11 +68,12 @@ export const useUpdateDetails = (art: string | null) =>
})
export interface UpdateLauf {
start: string | null
ende: string | null
status: string
fehler: string | null
job: string
start: string
ende: string
anlass: string
stufe: "rot" | "gelb" | "gruen" | "info" | "grau"
titel: string
zeilen: { baustein: string; ergebnis: string; stufe: UpdateLauf["stufe"]; text: string }[]
}
export const useUpdateVerlauf = () =>
@@ -138,6 +141,12 @@ export const useUpdateStarten = () =>
neuLaden: ["jobs", "start"],
})
export const useFreigeben = () =>
useAktion(
(baustein: string) => post<AktionsErgebnis>(`/api/updates/festgehalten/${encodeURIComponent(baustein)}/freigeben`),
{ erfolg: (_, e) => (e as AktionsErgebnis).text ?? "Freigegeben.", neuLaden: ["start"] },
)
export const useJetztSichern = () =>
useAktion(() => post<AktionsErgebnis>("/api/system/backup"), {
erfolg: () => "Sicherung erstellt.",