fix(documentmodus): vier bevindingen uit de beeldkeuring #1540
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!1540
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/keuring-bevindingen"
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?
Vier bevindingen uit de beeldkeuring op main, alle vier van eigen makelij. Twee ervan waren correcties op fouten die ik zelf eerder verkeerd had gediagnosticeerd.
1. De app las haar eigen sleutels nooit terug
Het editorscherm gaf
document.bodyaan de paginaopmaak-resolver — en daar is de frontmatter net vanaf gehaald. Gevolg: het speldje verscheen nooit, en een document datpapersize: a4droeg werd alsnog op de app-instelling getoond (A5 in de proef). De bytes reisden mee, de app deed er niets mee. Daarmee was de functie uit #1525 in de praktijk inert.De codec was altijd goed en alle unit-tests waren groen; de fout zat precies tussen twee lagen die elk apart klopten. De regressietest kijkt daarom op het scherm — aantoonbaar rood tegen de oude code.
2. Een pagina-einde liet inkt achter
Een
---brak de pagina én werd als streep getekend, dus elk vers vel opende met een lijn boven de kop. In de pagina-weergave ís die streep het einde; hij wordt daar niet meer getekend (hideRules). In de lezer blijft het een gewone horizontale lijn — en dát staat nu ook onder test, want die keerzijde was nergens gepind (gevonden door de poortwachter).3. Een document dat mét een
---begon opende met een leeg velDe uitzondering beschermde alleen blok 0, dus de kop erachter brak alsnog af op een vel waar nog niets op stond. Met de hoofdstukinstelling aan gaf dat vier vellen voor twee koppen. Een geforceerd einde telt nu alleen wanneer er sinds het vorige einde échte inhoud staat — en een streep telt daarbij niet als inhoud.
4. De witruimte tussen alinea's ontbrak in het schrijfvlak
Alinea's plakten tegen elkaar tot één muur tekst, terwijl de weergave ernaast twaalf punten ertussen zet. Bij een lange tekst was dat slechter leesbaar dan vóór de documenttypografie.
De oorzaak is beschamend eenvoudig: de afstand stond in de vierde parameter van
DefaultTextBlockStyle(regelafstand binnen een blok) in plaats van de derde (ruimte om het blok). Een eerdere correctie daarvan is stil mislukt — de tekstvervanging matchte niet — en ik concludeerde toen dat Quill die instelling negeert. Dat klopte niet.Daarmee vervalt ook de compensatie die ik erop had gebouwd:
kQuillMissingBlockGaptelde bij het meten twaalf punten per blok op om de hoogte te laten kloppen met de weergave. Een keurig gedocumenteerde correctie voor een fout die ik zelf had gemaakt. De toets die beide renderwerelden op dezelfde hoogte pint sloeg hierop aan — hij liep naar 1,09 zodra de afstand echt verscheen. Precies waar zo'n toets voor is.Onderweg
De nieuwe getter duwde
_DocumentEditorScreenStateover zijn plafond (die stond op precies 1000); hij is top-level gemaakt in dezelfde part in plaats van de basislijn op te rekken.Poorten
make checkgroen (9617 tests, dekking 86,9%).make check-secretsgroen,make sastgroen (0 findings).