Feature: Push-Benachrichtigungen (ntfy/Webhook) bei Paket fertig/fehlgeschlagen + Run-Ende
Headless-Server: Paket-Ausgaenge waren bisher nur per RDP+Log sichtbar. Neues Modul notify.ts schickt einen fire-and-forget POST (ntfy-kompatibel: Title/ Priority/Tags als Header, Nachricht als Body) an eine konfigurierbare URL — mit der kostenlosen ntfy-App aufs Handy, ohne Account/Port/Firewall (outbound). - Settings: notifyUrl + 3 Ereignis-Toggles (Default aus) in Allgemein. - Hook 1: Post-Processing-Ende (Paket completed/failed nach Entpacken). - Hook 2: refreshPackageStatus fuer den Alle-Items-fehlgeschlagen-Fall (Link tot -> Paket erreicht das Post-Processing nie; ohne diesen Hook schwiege ausgerechnet der haeufigste Fehlerfall). - Hook 3: finishRun mit Run-Summary (X/Y erfolgreich, Dauer, Schnitt). - Dedup-Set pro Paket+Run, Lifecycle gespiegelt an historyRecordedPackages (Run-Start-Clear, Retry-Deletes, removePackageFromSession). Guard session.running || runPackageIds.has(id): nachlaufendes Entpacken nach Run-Ende benachrichtigt noch, Startup-Recovery nach App-Neustart nicht (sonst Doppel-Push fuer laengst fertige Pakete). - 5s-Timeout, Fehler nur als logger.warn — blockiert nie den Download-Pfad. - 9 Unit-Tests fuer notify.ts.
This commit is contained in:
@@ -132,6 +132,10 @@ export interface AppSettings {
|
||||
hideExtractedItems: boolean;
|
||||
confirmDeleteSelection: boolean;
|
||||
backupIncludeDownloads: boolean;
|
||||
notifyUrl: string;
|
||||
notifyOnPackageCompleted: boolean;
|
||||
notifyOnPackageFailed: boolean;
|
||||
notifyOnRunFinished: boolean;
|
||||
totalDownloadedAllTime: number;
|
||||
totalCompletedFilesAllTime: number;
|
||||
totalRuntimeAllTimeMs: number;
|
||||
|
||||
Reference in New Issue
Block a user