Skip to content

Guard Mermaid rendering against dagre panics#12109

Draft
zachlloyd wants to merge 1 commit into
masterfrom
oz-agent/guard-mermaid-render-panics
Draft

Guard Mermaid rendering against dagre panics#12109
zachlloyd wants to merge 1 commit into
masterfrom
oz-agent/guard-mermaid-render-panics

Conversation

@zachlloyd
Copy link
Copy Markdown
Contributor

Description

  • Bump mermaid_to_svg to a commit that makes dagre_rust::intersect_rect handle degenerate center-point intersections without panicking.
  • Add a Warp-side guard around Mermaid SVG rendering so future renderer panics become failed Mermaid assets instead of crashing the client.
  • Add unit coverage for the Warp-side panic-to-error path.

Upstream dependency PR: warpdotdev/mermaid-to-svg#16

No new log statements were added.

Linked Issue

N/A - Slack crash-cluster investigation from #dev-crash-clusters.

Testing

  • cargo fmt --manifest-path /workspace/warp/Cargo.toml --all --check

  • CARGO_BUILD_JOBS=1 cargo nextest run --manifest-path /workspace/warp/Cargo.toml --no-fail-fast --workspace mermaid_renderer_panic_returns_error

  • CARGO_BUILD_JOBS=1 cargo check --manifest-path /workspace/warp/Cargo.toml -p warp_editor

  • CARGO_BUILD_JOBS=1 cargo clippy --manifest-path /workspace/warp/Cargo.toml -p warp_editor --no-deps

  • I have manually tested my changes locally with ./script/run

Screenshots / Videos

N/A - crash containment/dependency fix with automated coverage.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

CHANGELOG-BUG-FIX: Fixed a Mermaid rendering crash caused by degenerate Dagre edge intersections.

Conversation: https://staging.warp.dev/conversation/2381ce85-50ab-49ff-a15b-1f8d84dc3196
Run: https://oz.staging.warp.dev/runs/019e8a8d-7abf-793f-9859-6dbd1ac7de30
This PR was generated with Oz.

Co-Authored-By: Oz <oz-agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant