feat: add secure batch completion reports

Generate immutable post-cleanup summaries only after queue, history, and recovery finalization. Add bilingual accessible report UI, host and cleanup metrics, report-bound JSON and sanitized error CSV exports, renderer reload recovery, duplicate-filename-safe accounting, and public-source verification coverage.
This commit is contained in:
Sucukdeluxe
2026-08-17 00:18:20 +02:00
parent c8170b8556
commit 329d22e5b7
18 changed files with 1282 additions and 36 deletions
+28
View File
@@ -63,6 +63,32 @@
['Hoster-Limits automatisch hochskalieren', 'Automatically scale host limits'],
['Hoster', 'Host'],
['Versuch', 'Attempt'],
['Batch abgeschlossen', 'Batch complete'],
['Der Upload-Batch wurde abgeschlossen.', 'The upload batch has completed.'],
['Mit Problemen', 'Completed with issues'],
['Übertragung', 'Transfer'],
['Dauer', 'Duration'],
['Erfolgreich übertragen', 'Successfully transferred'],
['Durchschnitt', 'Average'],
['Vollständig erfolgreich', 'Fully successful'],
['Teilweise erfolgreich', 'Partially successful'],
['Auftrag', 'Job'],
['Aufträge', 'Jobs'],
['Angefordert', 'Requested'],
['Gelöscht', 'Deleted'],
['Blockiert', 'Blocked'],
['Hosterübersicht', 'Host overview'],
['Übertragen', 'Transferred'],
['Fehlerbeispiele', 'Error examples'],
['Fehler-CSV exportieren', 'Export error CSV'],
['Temporärer Hosterfehler', 'Temporary host error'],
['Datei abgelehnt', 'File rejected'],
['Account-Fehler', 'Account error'],
['Remote-Abschluss unklar', 'Remote completion uncertain'],
['1 weiterer Fehler', '1 more error'],
['JSON-Bericht exportiert', 'JSON report exported'],
['Fehler-CSV exportiert', 'Error CSV exported'],
['Batch-Bericht konnte nicht exportiert werden.', 'The batch report could not be exported.'],
['Importieren', 'Import'],
['In Zwischenablage', 'To clipboard'],
['In diesem Lauf hochgeladen:', 'Uploaded during this run:'],
@@ -772,6 +798,7 @@
[/^Update-Server Antwort war kein JSON (.+)$/, 'Update server response was not JSON $1'],
[/^(\d+) Links kopiert$/, '$1 links copied'],
[/^(\d+) Link kopiert$/, '$1 link copied'],
[/^(\d+) weitere Fehler$/, '$1 more errors'],
[/^Wirklich alle (\d+) Links aus diesem Panel entfernen\?$/, 'Remove all $1 links from this panel?'],
[/^Ein ausgewählter Eintrag wird aus diesem Panel entfernt\.$/, 'One selected entry will be removed from this panel.'],
[/^(\d+) ausgewählte Einträge werden aus diesem Panel entfernt\.$/, '$1 selected entries will be removed from this panel.'],
@@ -865,6 +892,7 @@
[/^Restart in (\d+)s\.\.\.$/, 'Neustart in $1s...'],
[/^(\d+) job reset for upload$/, '$1 Job zum erneuten Upload zurückgesetzt'],
[/^(\d+) jobs reset for upload$/, '$1 Jobs zum erneuten Upload zurückgesetzt'],
[/^(\d+) more errors$/, '$1 weitere Fehler'],
[/^(\d+) history entry will be permanently removed\.$/, '$1 Verlaufseintrag wird dauerhaft entfernt.'],
[/^(\d+) history entries will be permanently removed\.$/, '$1 Verlaufseinträge werden dauerhaft entfernt.'],
[/^Active on port (\d+) — 1 client connected$/, 'Aktiv auf Port $1 — 1 Client verbunden'],