Documentexport: toon waarschuwingen en geweigerde doelen blijvend bij het resultaat #2467
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2467
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gebruikersprobleem
Een offerte kan als PDF worden gemaakt terwijl tekens ontbreken, een tabel te breed is of het logo te grof is. Deze waarschuwingen verschijnen nu als vluchtige SnackBars tijdens het bouwen, terwijl de exportdialoog nog openstaat; na afloop toont die alleen het pad. Kiest de gebruiker op desktop het bronbestand zelf als exportdoel, dan blijft de dialoog zonder uitleg staan. De gebruiker kan de uitvoer daardoor ten onrechte als gecontroleerd beschouwen of niet weten waarom export niets doet.
Oorzaak op origin/main (
334604137)buildDocumentExportBytes roept waarschuwingcallbacks tijdens de bouw aan (lib/services/document_export_service.dart:431-448); DocumentEditorScreen vertaalt ze naar SnackBars (lib/widgets/document_editor_screen.dart:833-839). DocumentExportDialog bewaart alleen _writtenPath en _failure (lib/widgets/dialogs/document_export_dialog.dart:132-163). writeDocumentExport retourneert null voor een doel gelijk aan de bron, ook via alias/symlink (document_export_service.dart:532-535); desktop toont daarvoor geen gerichte uitleg.
Oplossing
Gebruik een getypeerd exportresultaat: geslaagd pad plus waarschuwingen, geannuleerd, geweigerd doel, of echte fout. Toon waarschuwingen blijvend in het resultaatscherm met ernst en waar mogelijk pagina/element; bied openen en opnieuw exporteren aan. Bij bron=doel: leg uit dat het originele Markdown niet overschreven wordt en laat een ander doel kiezen. Houd bestaande privacy- en veiligheidsblokkades apart herkenbaar.
Acceptatie
Widgetflow met ontbrekend teken/te brede tabel toont waarschuwing na succesvolle bestandswrite; een schrijffout toont geen vals succes. Desktopflow met bron=doel en alias toont uitleg en behoudt bronbytes. Test cancel zonder foutmelding.