mermaidWithDarkTheme slaat dark-directive over bij eigen %%{init}-directive #1922
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#1922
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?
Probleem
mermaidWithDarkThemeinlib/widgets/reader/doc_mermaid_view.dartslaat zijn dark-directive over als de bron al met%%{begint:De bedoeling is terecht: een diagram met een eigen
%%{init}-directive moet die behouden. Maar het neveneffect is dat een diagram met een eigen init-directive (bijv.%%{init: {"themeVariables": {"primaryColor": "#ff0"}}}%%) in donker thema licht blijft, omdat detheme: dark-directive nooit wordt toegevoegd.Oplossingsrichting
Samenvoegen in plaats van overslaan: als de bron al een
%%{init: ...}%%-directive heeft, detheme: darkdaarin injecteren (bestaande keys behouden,themetoevoegen of overschrijven). Als de bron met---(YAML frontmatter) begint, de directive erna plaatsen.Beeldkeuring-controlepunt (geen bevinding)
Daarnaast verdient het sequence-diagram een beeldkeuring. In een nabootsing kwam een Note als donker vlak met verschoven tekst uit de inliner, en verdwenen de autonumber-cirkels. Dit is niet in
flutter_svgzelf geverifieerd, dus dit is een controlepunt, geen bevinding — bij het fixen van bovenstaand punt meenemen in de visuele controle.Referenties
lib/widgets/reader/doc_mermaid_view.dartregel 207-211:mermaidWithDarkThemetest/document_reader_test.dartregel 435-450: bestaande tests voormermaidWithDarkThemeOpgepakt (sessie hervat na een crash). Tak: fix/mermaid-dark-theme-and-scaling, PR #1924. Reikwijdte: mermaidWithDarkTheme in lib/widgets/reader/doc_mermaid_view.dart.
Het beeldkeuring-controlepunt (sequence-diagram: Note-vlak en autonumber-cirkels) is NIET visueel getoetst. De schermtoegang voor computer-use werd geweigerd, en dat is de enige route om OciDeck echt te bekijken. De code-reparatie zelf is wel gedekt: mermaidWithDarkTheme heeft drie tests op de samenvoeging (bestaande init-directive, behoud van andere sleutels, plaatsing na YAML-frontmatter) en de volledige make check staat groen.
Het controlepunt blijft dus open staan. Wie het alsnog wil doen heeft twee wegen: de app draaien met toegestane schermbediening, of een integratietest op macOS die de RepaintBoundary naar PNG schrijft — daar is de WebView wél beschikbaar, anders dan onder flutter test.
Opgelost en op main geverifieerd: merge-commit
5f113a229(PR #1924), reparatie ina9731614c. mermaidWithDarkTheme voegt theme:dark nu samen in een bestaande %%{init}-directive in plaats van hem over te slaan, met behoud van andere sleutels, en zet de directive ná YAML-frontmatter. Drie tests dekken die drie gevallen.Wat er NIET in zit: het beeldkeuring-controlepunt op het sequence-diagram. Zie de reactie hierboven — de schermtoegang werd geweigerd, dus dat blijft ongetoetst. Dat was in de issuetekst zelf al als controlepunt en niet als bevinding aangemerkt; ik sluit hier op de bevinding, niet op het controlepunt.