fix(mermaid): schoon ongeldige style-delen zodat erDiagram niet blanco blijft (#886) #893

Merged
brenno merged 1 commit from fix/886-mermaid-er-gantt into main 2026-07-26 14:45:46 +00:00
Owner

erDiagram renderde blanco op macOS (en web). Oorzaak: mermaid zet op ER-relatie-paden style="undefined;;;undefined;fill:none;…" (eigen bug in de relatie-styling). vector_graphics (de parser achter flutter_svg) splitst een style op ;, splitst elk deel op : en pakt daarna blind deel[1]; een deel zónder : (zoals undefined) laat het crashen met een RangeError — waarna het HÉLE diagram blanco blijft, en de rasteraar een stale picture toont (de PDF-pie-duplicaat).

sanitizeMermaidSvg gooit nu style-delen zonder : weg; de geldige blijven. Bevestigd met vector_graphics.parse op de ER-SVG: crash → OK (26 paths). Raakt web én desktop (gedeelde sanitisatie). Puur-Dart regressietest toegevoegd.

Restant (apart): een zeer brede gantt (viewBox 1384×148) rendert als dunne strip — een #868-fit-randgeval, geen crash; te bekijken los van deze fix.

fixes #886

erDiagram renderde blanco op macOS (en web). Oorzaak: mermaid zet op ER-relatie-paden `style="undefined;;;undefined;fill:none;…"` (eigen bug in de relatie-styling). `vector_graphics` (de parser achter flutter_svg) splitst een style op `;`, splitst elk deel op `:` en pakt daarna blind deel[1]; een deel zónder `:` (zoals `undefined`) laat het crashen met een RangeError — waarna het HÉLE diagram blanco blijft, en de rasteraar een stale picture toont (de PDF-pie-duplicaat). `sanitizeMermaidSvg` gooit nu `style`-delen zonder `:` weg; de geldige blijven. Bevestigd met `vector_graphics.parse` op de ER-SVG: crash → OK (26 paths). Raakt web én desktop (gedeelde sanitisatie). Puur-Dart regressietest toegevoegd. Restant (apart): een zeer brede gantt (viewBox 1384×148) rendert als dunne strip — een #868-fit-randgeval, geen crash; te bekijken los van deze fix. fixes #886
fix(mermaid): schoon ongeldige style-delen zodat ER-diagram niet blanco blijft (#886)
All checks were successful
scans / scans (pull_request) Successful in 3m16s
07b9dff818
Mermaid zet op erDiagram-relatie-paden style="undefined;;;undefined;fill:none;..."
(een eigen bug in de relatie-styling). vector_graphics (de parser achter
flutter_svg) splitst een style op ';', splitst elk deel op ':' en pakt daarna
blind deel[1]; een deel zonder ':' (zoals 'undefined') laat het crashen met een
RangeError, waarna het HELE diagram blanco blijft (en de rasteraar een stale
picture toont -> de PDF-pie-duplicaat). sanitizeMermaidSvg gooit nu style-delen
zonder ':' weg; de geldige blijven, en zonder de crash rendert ER weer. Raakt
web en desktop (gedeelde sanitisatie). Bevestigd met vector_graphics.parse:
crash -> OK (26 paths). Puur-Dart regressietest toegevoegd.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit d17dd1b26d into main 2026-07-26 14:45:46 +00:00
Sign in to join this conversation.
No description provided.