Skip to content

fix(mermaid): Prevent SVGMatrix TypeError on hidden diagrams - #19086

Open
sentry[bot] wants to merge 1 commit into
masterfrom
seer/fix-mermaid-svgmatrix-error
Open

fix(mermaid): Prevent SVGMatrix TypeError on hidden diagrams#19086
sentry[bot] wants to merge 1 commit into
masterfrom
seer/fix-mermaid-svgmatrix-error

Conversation

@sentry

@sentry sentry Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

DESCRIBE YOUR PR

This PR fixes a TypeError: SVGMatrix.a setter: Value being assigned is not a finite floating-point value that occurred when rendering Mermaid diagrams.

The issue arose because svgPanZoom was being called on all SVG elements, including the hidden (via display:none) dark/light theme clones. These hidden SVGs have zero getBoundingClientRect dimensions. When svgPanZoom attempted to calculate zoom using these zero dimensions, it resulted in non-finite values (Infinity/NaN), which then caused the TypeError when assigned to SVGMatrix.a.

Because this error occurred outside the mermaid.run try/catch block, it aborted the forEach loop prematurely. Consequently, setDoneRendering(true) was never reached, preventing the theme-hiding <style> from being injected and sometimes leaving both light and dark diagrams visible.

The fix moves the svgPanZoom(...) initialization call inside the existing if (rect.width > 0 && rect.height > 0) guard. This ensures that svgPanZoom is only applied to visible SVG elements with valid dimensions, preventing the division-by-zero error and allowing the rendering process to complete correctly.

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

LEGAL BOILERPLATE

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

EXTRA RESOURCES

Fixes DOCS-B3J

This PR was automatically generated by Sentry. You can adjust this setting at any time.

@vercel

vercel Bot commented Aug 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
develop-docs Ready Ready Preview Aug 22, 2026 10:46pm
sentry-docs Ready Ready Preview Aug 22, 2026 10:46pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants