Grafiekcijfers verdwijnen uit de markdown terwijl opslaan als geslaagd telt als het databestand faalt #1950
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1950
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?
Het probleem
Bij opslaan worden inline grafiekcijfers uit de markdown naar
data/*.jsonverplaatst, zodat het.md-bestand alleen nog eensource:-verwijzing houdt. Lukt het schrijven van dat databestand niet, dan krijgt de gebruiker een waarschuwing — maar opslaan retourneerttrue, het tabblad wordt schoon gemarkeerd, en de herstelkopie verdwijnt.Op schijf staat dan markdown mét verwijzing en zónder (of met een oude) datafile. Na heropenen of een crash: een lege grafiek. De cijfers zaten in het geheugen, zijn uit de markdown gehaald, en nergens duurzaam bewaard.
Hoe het nu werkt
lib/services/file/file_service_project.dart:De commentaar daar erkent het risico en stuurt
chartWarningsterug zodat de UI niet "geslaagd" zou moeten lezen.DeckNotifier._saveToPathmeldt de waarschuwing wél (_reportChartWarnings) en zet daarna alsnogisDirty: false.Er zijn tests voor het signaal (
chart_data_save_warning_test.dart); niet voor "dirty blijft true tot de datafile er is".Denkrichting (niet uitgewerkt)
Als
chartWarningsniet leeg is: de inline cijfers in de markdown laten staan (externaliseren terugdraaien),isDirtytrue houden, en niet de herstelkopie wissen. De waarschuwing blijft; opslaan is dan écht niet klaar.Alternatief:
_writeChartDatalaten gooien zodat het bestaande foutpad in_saveToPath(isDirtyblijft, error-state) het overneemt.Raakvlakken
lib/services/file/file_service_project.dart(_externalizeCharts,_writeChartData)lib/state/deck_provider.dart(_saveToPath,_reportChartWarnings)docs/FILE_FORMAT.md(grafiekdata indata/*.json) — geen formaatwijziging nodig