[Bug] Error message when saving #1909
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1909
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?
Describe the bug
Using ocideck appimage, saving a test presentation gives error message. see screemshot
To reproduce
Steps to reproduce the behaviour:
Expected behaviour
No error message
Screenshots / sample deck
See below
Environment
flutter --version): unknownAdditional context
Nope
Dank voor de melding en vooral voor de schermafdruk — die wees precies de goede kant op.
Ik heb hem gereproduceerd. De oorzaak zit niet in de tweede opslaglocatie: de melding komt van een controle in het open-pad. Na het opslaan leest OciDeck het zojuist geschreven bestand terug (om de genormaliseerde vorm op te pakken en de bytes opnieuw te scannen). Die teruglezing weigerde een bestand met front matter maar zonder diablok, omdat dat gold als 'afgekapt'. Een presentatie waarvan de enige dia nog leeg is, schrijft OciDeck echter precies zo weg — dus las het opslaan zijn eigen bestand niet meer terug. Je bestand is in orde; alleen de melding klopte niet. Hetzelfde bestand opnieuw openen lukte overigens ook niet, en dat was het ergere deel.
In behandeling op tak
fix/1909-save-reread; raaktlib/services/file_service.dartenlib/services/file/file_service_open.dart.Eén vraag, om zeker te weten dat ik jouw geval te pakken heb en niet alleen een geval dat er hetzelfde uitziet: had de presentatie die je opsloeg al inhoud (een titel, opsommingstekens), of was hij nog leeg?
Opgelost en gemerged:
b140c8cb4(PR #1910).Wat het was. Niet de tweede opslaglocatie. Na het opslaan leest OciDeck het zojuist geschreven bestand terug, en die teruglezing weigerde front matter zonder diablok als 'afgekapt bestand'. Dat is nu juist precies wat OciDeck zélf wegschrijft voor een presentatie waarvan de enige dia nog leeg is — een lege dia serialiseert naar niets. Het opslaan las dus zijn eigen bestand niet terug. Erger nog, en dat stond niet in de melding: hetzelfde bestand daarna opnieuw openen lukte ook niet.
Wat er nu gebeurt. Front matter zonder body opent als lege presentatie. Afgekapt en leeg zijn in de bytes niet van elkaar te onderscheiden, dus viel er niets te verfijnen — alleen te kiezen. Wat OciDeck schrijft moet OciDeck kunnen teruglezen, en een
.mdmet alleen front matter is bovendien geldige Marp die een andere editor mag aanreiken. Wat we ervoor opgeven is de mélding bij een echt afgekapt bestand, niet de inhoud: die was daar al weg vóór wij hem lazen. De afweging staat voluit in PR #1910 en in de CHANGELOG.Gold ook via git en WebDAV, waar dezelfde weigering het eigen opgeslagen werk trof. Regressietoets:
test/bug_1909_empty_deck_roundtrip_test.dart— de derde toets reproduceert jouw schermafdruk letterlijk.Wat er niet in zat. Je stap met de tweede opslaglocatie heb ik nagelopen: die is geen oorzaak. Verbindingen worden op uuid gesleuteld, de bibliothekenlijst mapt één-op-één en de bestemmingsdialoog selecteert op pad — twee mappen met dezelfde naam kunnen elkaar niet verdringen. Je waarneming klopte alleen niet je verklaring, en dat is precies de nuttige helft.
Er is nog één andere weg naar dezelfde melding, die deze reparatie niet dekt: wie zelf
<script>of<iframe>in een vrije-Markdown-dia typt, krijgt hem ook — de veiligheidsscan weigert dan de teruglezing, terecht, maar de melding zegt niet waarom. Dat wordt een eigen issue.Zit je in de v0.5.0-release. Dank voor de melding; je staat in de CHANGELOG. Wil je ook in CONTRIBUTORS.md, laat dan even weten onder welke naam — die vul ik niet zelf in.
@brenno wrote in #1909 (comment):
Was inderdaad nog een lege presentatie.
@brenno wrote in #1909 (comment):
Tuurlijk wil ik ook in de CONTRIBUTORS! :-). Jeroen "Kwoot" Baten dan bijvoorbeeld. Of jeroen@libreplan.dev, dat kan natuurlijk ook.