kundencenter/apps
Kundencenter 8cf8404440 fix(backup): Ticket-Anhänge in Sicherung und Wiederherstellungstest einschließen
Vom Nacht-Agenten gefundene Lücke (P1), gegen den echten Code verifiziert:
das Backup-Archiv enthielt nur db.sql/config/manifest.json, nicht das
Anhänge-Verzeichnis (STORE_ROOT, /var/lib/kundencenter/ticket-attachments).
Bei einem echten Datenverlust wären alle Ticket-Anhänge unwiederbringlich
verloren gewesen, obwohl die Datenbank-Referenzen darauf erhalten blieben.

- runBackup: Anhänge-Verzeichnis wird mit in archive.tar.gz gepackt (eigener
  -C-Abschnitt, da es außerhalb des Arbeitsverzeichnisses liegt), Datei-/
  Byte-Anzahl landet zur Kontrolle im manifest.json.
- runRestoreTest: prüft nach dem Entpacken, ob Datei- und Byte-Anzahl der
  Anhänge mit dem Manifest übereinstimmen (wie die bestehenden Zeilenzahl-/
  Migrations-/Audit-Kette-Prüfungen). Ältere Sicherungen ohne dieses Feld
  werden übersprungen statt fälschlich als fehlerhaft gemeldet.

Gegen eine echte Sicherung+Wiederherstellungstest verifiziert (zwei
Testdateien im Anhänge-Verzeichnis angelegt, Backup gefahren, Restore-Test
lief grün mit anhaengeDateien: 2).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 10:44:24 +02:00
..
api fix(backup): Ticket-Anhänge in Sicherung und Wiederherstellungstest einschließen 2026-09-29 10:44:24 +02:00
web fix(discord): /ticket auch für Personal nutzbar, klarere Fehlermeldung 2026-09-29 00:17:55 +02:00
worker fix(discord): /ticket auch für Personal nutzbar, klarere Fehlermeldung 2026-09-29 00:17:55 +02:00