Mermaid erDiagram en gantt renderen niet in de app (grijs/broncode op scherm; PDF: verkeerd duplicaat resp. blanco) #886
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#886
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?
Ontdekt tijdens de #882-keuring (nadat de opstartrace was verholpen en 5 van de 7 mermaid-typen weer renderen). Twee diagramsoorten falen deterministisch en type-specifiek:
Werkt wél (zelfde deck, zelfde run): flowchart, sequenceDiagram, classDiagram, stateDiagram-v2, pie — met kleur en tekst-in-de-knopen.
Waarom dit los staat van de #882-race: (a) 5 typen renderen wél, ook vanaf de eerste weergave — een race zou de vroegste renders raken, niet juist twee specifieke typen; (b) er komt géén
render failed/FWFEvaluateJavaScriptError/timed outin de log — de fallback is stil, dus de dienst krijgt voor ER/gantt een resultaat zonder<svg>terug (lib/services/mermaid_render_service.dart, desvg.contains('<svg')-check); (c) een losse proef-PNG (~/Documents/Mermaidkeur/mermaid-labels-proof.png, mermaid 11.16.0, gesaneerd zoals de app dat doet) toont ER én gantt wél correct — de bron is dus geldig ensanitizeMermaidSvgop zichzelf ook. Het falen zit in het WebView→(inliner)→flutter_svg-pad van de draaiende app voor juist deze twee typen: mogelijk mangelt__ocideckInlineSvgStyles(svg_style_inline.js) hun tekst-/structuur zo dat de daaropvolgende XML-parse insanitizeMermaidSvgfaalt (dan valt<svg>weg) — te bevestigen.Apart, mogelijk tweede bug: dat de ER-pagina in de PDF de ´pie´ herhaalt (terwijl het scherm de broncode-fallback toont) wijst op een stale/hergebruik in de rasteraar (
slide_rasterizer.dart) bij een mislukte render — dat zou apart onderzocht moeten worden, want het presenteert stil verkeerde inhoud.Volgende stap: diagnostiek toevoegen die voor een mislukte render (geen
<svg>) de ráw teruggegeven SVG-lengte + eerste tekens logt, om te zien of mermaid.render iets teruggeeft en waar het<svg>verdwijnt (inliner vs sanitize). Verificatie is traag (macOS-app draaien, agentbeeldkeurder). Zie mermaid-macos-desktop-render-kapot voor de context van #882.