The multi-platform Docker build ran pnpm install and pnpm build for
linux/arm64 under QEMU emulation. QEMU intermittently crashes there
("qemu: uncaught target signal 4 (Illegal instruction)") or stalls, and
buildkit then waits until GitHub cancels the job at 6 hours: 16
cancelled runs in September, including a develop push.
The build output is a static site, identical on every architecture, so
the node stages now run on $BUILDPLATFORM and only the nginx stage
(COPY only) is built per architecture. Also caps the job at 30 minutes
so any future hang fails fast.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds docs paths for agentflow, cynefin, eventmodeling, ishikawa, radar,
the four railroad variants, swimlane, treeView, usecase, venn and
wardley, taken from packages/mermaid/src/docs/syntax in the mermaid repo
and checked against the published pages (config anchors included).
A new test parses every @mermaid-js/examples sample and fails when a
detected diagram type has no docs entry, so the next new type is caught
on the dependency bump instead of silently linking to the docs home.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Resolve the docs base so a bare mermaid.ai origin maps to
mermaid.ai/open-source instead of a missing page.
- Add a diagram-type catalog (diagramTypes.ts) keyed by mermaid's
detector ids that owns docs paths, visual-edit support and
external-service support. Replaces standardizeDiagramType, the
component-local docMap and the visual-edit set.
- Fixes class diagrams falling back to the docs home page (the detector
id was normalized to 'classDiagram', which the docMap didn't have) and
sequence diagrams never offering visual edit ('sequence' vs
'sequenceDiagram').
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The playground has been retired, so the Share dialog no longer offers a
link to it and only lists the Live Editor link and the embed section.
The now-unused "share" analytics medium goes with it; the playground URL
itself stays until the main menu entry is removed separately.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The mermaid stage inherits EXPOSE 80 from official nginx while nginx.conf
listens on 8080. Advertise 8080 so inspect and publish match the real
listen port.
Instead of leaving the config empty, the editor now manages the theme: after every validation and on site light/dark changes, syncManagedTheme sets it to the diagram type's own mermaid default (the config section's theme, e.g. redux-color for flowcharts, else the global default) or, in dark mode, the redux -dark variant (redux-dark-color) or dark.
Only editor-set themes are replaced: a missing theme, the global default, a section default or any of their dark variants (isManagedTheme). A theme the user chose, such as forest, is never touched.
Detector ids that do not match their config section (flowchart-v2, flowchart-elk, classDiagram, stateDiagram, xychart, railroadAbnf/Ebnf/Peg) are aliased in mermaid.ts; ids without a section (wardley, zenuml) use the global default.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>