fix(crop): draaien op Windows lukte niet omdat de voorvertoning het bestand vasthield #1782
No reviewers
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!1782
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/crop-preview-uit-geheugen"
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 mechanisme, eindelijk
FileImage._loadAsynclaat de engine het bestand openen metui.ImmutableBuffer.fromFilePath— na te lezen inimage_provider.dartvan de gepinde Flutter. Op Windows is dat een geheugenafbeelding, en zolang die leeft weigert Windows het bestand te vervangen of te verwijderen.Het bijsnijdvenster toonde dus een afbeelding op precies het bestand dat het straks ging overschrijven.
renamemislukte, de terugval mocht het doel niet verwijderen (errno 32), en de schrijffout werd ingeslikt: de preview draaide, het bestand bleef, en er kwam geen melding.Dit is een echte gebruikersbug op Windows, geen testartefact. De CHANGELOG-regel waarin ik dat laatste beweerde is ingetrokken.
Waarom mijn drie eerdere pogingen niets deden
tester.runAsyncin de toets. Onschadelijk, maar het beschreef de verkeerde oorzaak.Elke ronde gaf de spiegel dezelfde melding terug; ik heb hem drie keer verkeerd geduid. De diagnose uit #1774 is wat dit uiteindelijk oploste — zonder die reden had ik het nog een keer verkeerd geraden.
De reparatie
Het venster voedt zijn voorvertoning uit de bytes die het voor het draaien tóch al inleest. Geen
FileImagemeer op het bestand dat we herschrijven, en één leesbeurt in plaats van twee. Bundled assets enmem:-paden houden hun bestaande route.Toetsing — lees dit
document_editor_screen_test.dart: "Visueel: rauwe HTML schakelt automatisch naar Bron-modus met uitleg". Die staat sinds ~16:20 op 24-08 rood opmainzelf (drie merges op rij:08ca0525,7aeb6b6d,ec24b6c3), faalt ook op een schonemainzonder mijn wijziging, en heeft niets met deze PR te maken.make checkis dus groen op alles wat van mij is en rood op dat ene punt dat ik hier niet oplos.MarkdownNotesEditorís de Visuele modus, en de toets eist juist dat rauwe HTML naar Bron-modus schakelt in plaats van stilletjes naar brontekst binnen de visuele modus. Welke van de twee de bedoeling is, is een ontwerpkeuze van de documenteditor — daar ga ik niet overheen schrijven.Bewaker
Overgeslagen, expliciet: geen formaat, opslag, afhankelijkheid of publieke belofte. Wel iets minder IO en iets minder geheugen-op-schijf-gedrag, beide de goede kant op.