Skip to content

CSV-Export: bestehende Ausgaben und Originaldateien schützen - #1

Merged
lukisch merged 2 commits into
masterfrom
fix/codex-csv-export-transaction-20261001
Oct 1, 2026
Merged

lukisch merged 2 commits into
masterfrom
fix/codex-csv-export-transaction-20261001

Conversation

@lukisch

@lukisch lukisch commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Ein fehlgeschlagener CSV-Export konnte eine vorhandene Ausgabe bereits geleert haben. GUI und CLI schreiben jetzt zunächst in eine eigene temporäre Datei neben dem Ziel, schließen und synchronisieren sie und ersetzen die Ausgabe erst nach vollständigem Erfolg. Rechnungsoriginale (auch nicht ausgewählte/gefilterte), Konfiguration und Datenbank sind einschließlich Pfad-/Hardlink-Aliassen als Exportziel geschützt.

CSV-Spalten, UTF-8-BOM, Semikolon, Zeilenenden, Auswahl und Filter bleiben erhalten. CLI-Schutz-/Formatfehler liefern das bestehende strukturierte Fehlerergebnis mit Exit 1; programmatischer GUI-Export bleibt ohne modale Meldung. Die Identitätsprüfung wird vor der Veröffentlichung wiederholt; sie ist kein Schutzvertrag gegen gleichzeitige externe Änderungen zwischen Prüfung und Ersetzung.

Der echte CSV-Knopf öffnet den Dateidialog wieder: Sein Qt-Signalwert wird nicht als Dateipfad weitergereicht. Die Schutzmenge umfasst ursprüngliche Pfadwerte vor dem modalen Dialog und danach aktuelle Pfade, damit während des Dialogs entfernte Rechnungen geschützt bleiben.

Validierung: 262 lokale Tests bestanden (Exit 0) in einem isolierten Benutzerprofil, darunter 20 neue Gegenproben für Format-/fsync-/Replace-Fehler, Original-/State-Aliasse, späte Zielkollisionen, Dialog-Reentranz und tatsächlichen Qt-Knopfklick. Ruff, Compile, Diff-Prüfung und actionlint bestanden. Unabhängige Delta-Abnahme: 35 eigene Prüfungen bestanden, beide GUI-Befunde geschlossen, native Windows-Sharing-/Readonly-/Hardlink-/Junctionfälle bestätigt. Finale Plattform-CI am Head 40f0a70: alle sechs Jobs erfolgreich (Windows/Python 3.10/3.11/3.12 Volltests, Linux-Smokes und macOS-Smoke einschließlich CSV-Regressionen); alle drei CodeQL-Jobs erfolgreich.

Der vorhandene Begrüßungsworkflow scheitert separat wegen falscher Aktionsparameter; er wurde nicht wiederholt oder in diesen Fix aufgenommen. Keine Mailzugriffe, Versionsänderung, EXE-/Installations- oder Store-Aktion.

@lukisch
lukisch merged commit 9a5c3df into master Oct 1, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant