fix(import): het faalbeleid per dia werkt echt (#812) #819
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!819
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/import-faalbeleid-812"
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?
SlideFailurePolicybestond, werd netjes gezet, en werd nooit gelezen: elke dia kreeg best-effort, enskip/rasterizewaren onbereikbaar. Dit maakt er een echt beslismoment van.Sluit #812.
Wat er nu gebeurt
Bij een import van één bestand verschijnt een vraag zodra er dia's zijn die écht iets kwijtraken — per dia een keuze uit Zo volledig mogelijk (de dia zo compleet mogelijk, met een 'niet overgenomen'-notitie ernaast), Alleen de afbeelding (houd het beeld, laat de tekst vallen) en Overslaan (alleen een notitie die zegt waarom). De redenen per dia staan erbij: zonder te weten wát er misging is de keuze een gok. Eén knop zet alles tegelijk om, en Niet meer vragen laat de import het voortaan zelf doen.
De bulk-wachtrij vraagt bewust niets en neemt alles zo volledig mogelijk over — tien bestanden maal een vraag per dia is geen route.
Drie grenzen die de tests vastleggen
null(afbreken, of het venster wegklikken) stilzwijgend om in "ga door met de standaard" — daarmee was de vraag een schijnvertoning.imageOnlystond zodra een dia een afbeelding had. Wie niets aanraakte en op Importeren drukte, verloor juist de tekst van díé dia's. Elke dia begint nu op best-effort, en het veldProblemSlide.suggestedPolicyis geschrapt: een voorstel dat tegelijk de standaard is, is geen voorstel maar een besluit dat voor je genomen is.Twee dingen eerlijk benoemd
rasterizeheet nuimageOnly. De oude naam beloofde renderen. Het bronproject riep daarvoor LibreOffice aan als extern proces; dat gebeurt hier niet — geen subproces, geen externe afhankelijkheid. Wat die code feitelijk deed zodra er een plaatje was, is precies dit: houd de afbeeldingen, laat de rest vallen. Een dia zónder afbeelding valt terug op overslaan, want een afbeeldingsdia zonder afbeelding is niets. De gids zegt dit met zoveel woorden, zodat de naam geen verwachting wekt die hij niet waarmaakt.De import is nu tweefasig.
prepare()leest en classificeert,PreparedImport.build(policies:)bouwt. Reden: de vraag valt ertússen, en een Keynote van vijftig dia's parseer je niet twee keer om één vraag te kunnen stellen.importBytes()blijft bestaan als wikkel voor wie niets te vragen heeft (de wachtrij, en de tests).Terzijde: de knoppenrij is een
Wrapen geenRow. Met de labels in 31 talen loopt een vaste rij over, en dan is de laatste knop onbereikbaar — Iers en Hongaars zijn daar het krapst.Poort
make checkgroen (exit 0), 6555 tests, dekking 86,5%, geen basislijn verhoogd en geen plafond geraakt. Gerebased op de huidige main en daarna opnieuw geverifieerd. Geenpubspec.yaml-wijziging, dus geen SBOM-ronde.Docs:
USER_GUIDE,CHANGELOG,SOURCE_MAP,KNOWN_LIMITATIONS,FAQ. Onderweg zijn drie onjuiste beweringen inSOURCE_MAPrechtgezet — waaronder de regel die al vóór deze tak beweerde dat het faalbeleid werd toegepast.🤖 Generated with Claude Code