[go: up one dir, main page]

Skip to content

Update mermaid to from 10.7.0 to 11.12.0

What does this MR do and why?

This merge request updates the Mermaid diagramming library from version 10.7.0 to 11.12.0. As far as I've tested and based on the v11.0.0 release changelog, the breaking changes are minimal and should have minimum to no impact given that it impact as explained in https://github.com/mermaid-js/mermaid/pull/5723.

References

Screenshots or screen recordings

Description Before After
Flow diagrams have much better line break calculation. flow_diagram_before.png flow_diagram_after.png

How to set up and validate locally

Insert a mermaid diagram in any place where you can write Markdown in GitLab. Here's a mermaid diagram that you can try:

flowchart TD
    User["GitLab User<br/>[Person]<br/><br/>GitLab user editing files using the Web IDE."]

    subgraph browser["Web Browser"]
        subgraph gitlab-boundary["main window"]
            Rails["GitLab Application<br/>[Container]<br/><br/>Rails web application that hosts<br/>the Web IDE and manages<br/>OAuth authentication flow"]
        end

        subgraph workbench-boundary["[Sandboxed iframe]"]
            Workbench["Workbench UI<br/>[Component]<br/><br/>VSCode workbench interface providing<br/>editor UI, file explorer, and workspace management"]
        end

        subgraph extension-boundary["[Sandboxed iframe]"]
            ExtHost["Extension Host Runtime<br/>[Component]<br/><br/>Isolated runtime environment for<br/>executing VSCode extensions<br/>with restricted permissions"]
        end

        subgraph webview-boundary["[Sandboxed iframe]"]
            WebView["Web View Host Runtime<br/>[Component]<br/><br/>Sandboxed environment for rendering<br/>extension-provided web views<br/>and custom UI components"]
        end
    end


    CDN["*.cdn.web-ide.gitlab-static.net<br/>[External System]<br/><br/>CDN HTTP server hosting static assets<br/>(JS, CSS, WASM) for Web IDE Code - OSS components"]

    User -->|"Opens Web IDE"| browser
    Rails <-->|"Creates sandboxed iframe and exchange<br> OAuth-access tokens via postMessage API channel"| Workbench

    Rails -->|"Loads Code - OSS Workbench static assets<br> with a URL that contains an encrypted<br> subdomain to sandbox the Workbench UI."| CDN

    Workbench -->|"Creates sandboxed iframe"| ExtHost
    Workbench -->|"Creates sandboxed iframe"| WebView

    Workbench -->|"Loads extension bundles and webview<br> static assets with a URL that contains<br> a unique encrypted subdomain to sandbox<br> web view host and extension host."| CDN

    classDef person-class stroke:#052e56,fill:#08427b,color:#ffffff
    classDef container-class stroke:#0b4884,fill:#1168bd,color:#ffffff
    classDef component-class stroke:#1168bd,fill:#4b9bea,color:#ffffff
    classDef external-class stroke:#565656,fill:#999999,color:#ffffff
    classDef boundary-class fill:#ffffff,stroke:#444444,stroke-width:2px,stroke-dasharray:5 5, color: #000

    class User person-class
    class Rails container-class
    class Workbench,ExtHost,WebView component-class
    class CDN external-class
    class gitlab-boundary,workbench-boundary,extension-boundary,webview-boundary boundary-class

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Enrique Alcántara

Merge request reports

Loading