Skip to content

Fix ECS migration expected test failures - #15654

Draft
DrJKL wants to merge 1 commit into
fix/ecs-review-findingsfrom
audit/ecs-test-fails
Draft

Fix ECS migration expected test failures#15654
DrJKL wants to merge 1 commit into
fix/ecs-review-findingsfrom
audit/ecs-test-fails

Conversation

@DrJKL

@DrJKL DrJKL commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Re-inventories the remaining expected test failures from the ECS migration and fixes the cases owned by ECS compatibility and lifecycle behavior.

Changes

  • What: Restores enumerable LLink topology facades, handles dropped inputs during link-slot realignment, and re-keys promoted subgraph widgets after node insertion.
  • What: Converts 12 resolved expected failures to normal tests; retains five out-of-scope cases covering unsupported topology resurrection and pre-existing badge ordering parity.

Review Focus

Please focus on the atomic removal/move behavior during input-slot realignment and promoted-widget value preservation while replacing provisional node IDs.

Fixes #15565

@github-actions

github-actions Bot commented Aug 22, 2026

Copy link
Copy Markdown

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 08/22/2026, 11:47:11 PM UTC

Links

🎭 Playwright: ❌ 1907 passed, 42 failed · 1 flaky

❌ Failed Tests

📊 Browser Reports
  • chromium: View Report (✅ 1886 / ❌ 42 / ⚠️ 1 / ⏭️ 5)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 18 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

📦 Bundle Size

⏳ Size data collection in progress…

⚡ Performance Report

canvas-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 65.6 MB heap
canvas-mouse-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 73.4 MB heap
canvas-zoom-sweep: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 72.3 MB heap
dom-widget-clipping: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 61.7 MB heap
large-graph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 73.7 MB heap
large-graph-pan: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 1ms TBT · 77.5 MB heap
large-graph-zoom: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 4ms TBT · 75.7 MB heap
legacy-node-drag: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 1ms TBT · 89.6 MB heap
minimap-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 74.1 MB heap
subgraph-dom-widget-clipping: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.0 MB heap
subgraph-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.6 MB heap
subgraph-mouse-sweep: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 72.8 MB heap
subgraph-transition-enter: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 133ms TBT · 83.4 MB heap
viewport-pan-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 1ms TBT · 76.5 MB heap
vue-large-graph-idle: · 56.3 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 170.9 MB heap
vue-large-graph-pan: · 57.1 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 72ms TBT · 169.3 MB heap
workflow-execution: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.8 MB heap

ℹ️ No baseline found — significance unavailable.

Absolute values
Metric Value
canvas-idle: avg frame time 17ms
canvas-idle: p95 frame time 17ms
canvas-idle: layout duration 0ms
canvas-idle: style recalc duration 7ms
canvas-idle: layout count 0
canvas-idle: style recalc count 9
canvas-idle: task duration 481ms
canvas-idle: script duration 8ms
canvas-idle: TBT 0ms
canvas-idle: heap used 65.6 MB
canvas-idle: DOM nodes -283
canvas-idle: event listeners -185
canvas-mouse-sweep: avg frame time 17ms
canvas-mouse-sweep: p95 frame time 17ms
canvas-mouse-sweep: layout duration 3ms
canvas-mouse-sweep: style recalc duration 42ms
canvas-mouse-sweep: layout count 12
canvas-mouse-sweep: style recalc count 82
canvas-mouse-sweep: task duration 1363ms
canvas-mouse-sweep: script duration 204ms
canvas-mouse-sweep: TBT 0ms
canvas-mouse-sweep: heap used 73.4 MB
canvas-mouse-sweep: DOM nodes -280
canvas-mouse-sweep: event listeners -154
canvas-zoom-sweep: avg frame time 17ms
canvas-zoom-sweep: p95 frame time 17ms
canvas-zoom-sweep: layout duration 1ms
canvas-zoom-sweep: style recalc duration 16ms
canvas-zoom-sweep: layout count 6
canvas-zoom-sweep: style recalc count 32
canvas-zoom-sweep: task duration 344ms
canvas-zoom-sweep: script duration 11ms
canvas-zoom-sweep: TBT 0ms
canvas-zoom-sweep: heap used 72.3 MB
canvas-zoom-sweep: DOM nodes 77
canvas-zoom-sweep: event listeners 19
dom-widget-clipping: avg frame time 17ms
dom-widget-clipping: p95 frame time 17ms
dom-widget-clipping: layout duration 0ms
dom-widget-clipping: style recalc duration 7ms
dom-widget-clipping: layout count 0
dom-widget-clipping: style recalc count 11
dom-widget-clipping: task duration 430ms
dom-widget-clipping: script duration 32ms
dom-widget-clipping: TBT 0ms
dom-widget-clipping: heap used 61.7 MB
dom-widget-clipping: DOM nodes 17
dom-widget-clipping: event listeners 2
large-graph-idle: avg frame time 17ms
large-graph-idle: p95 frame time 17ms
large-graph-idle: layout duration 0ms
large-graph-idle: style recalc duration 1ms
large-graph-idle: layout count 0
large-graph-idle: style recalc count 2
large-graph-idle: task duration 525ms
large-graph-idle: script duration 36ms
large-graph-idle: TBT 0ms
large-graph-idle: heap used 73.7 MB
large-graph-idle: DOM nodes -277
large-graph-idle: event listeners -153
large-graph-pan: avg frame time 17ms
large-graph-pan: p95 frame time 17ms
large-graph-pan: layout duration 0ms
large-graph-pan: style recalc duration 8ms
large-graph-pan: layout count 0
large-graph-pan: style recalc count 63
large-graph-pan: task duration 3191ms
large-graph-pan: script duration 1261ms
large-graph-pan: TBT 1ms
large-graph-pan: heap used 77.5 MB
large-graph-pan: DOM nodes -138
large-graph-pan: event listeners -70
large-graph-zoom: avg frame time 17ms
large-graph-zoom: p95 frame time 17ms
large-graph-zoom: layout duration 7ms
large-graph-zoom: style recalc duration 11ms
large-graph-zoom: layout count 60
large-graph-zoom: style recalc count 66
large-graph-zoom: task duration 2899ms
large-graph-zoom: script duration 1091ms
large-graph-zoom: TBT 4ms
large-graph-zoom: heap used 75.7 MB
large-graph-zoom: DOM nodes 24
large-graph-zoom: event listeners 12
legacy-node-drag: avg frame time 17ms
legacy-node-drag: p95 frame time 17ms
legacy-node-drag: layout duration 0ms
legacy-node-drag: style recalc duration 5ms
legacy-node-drag: layout count 0
legacy-node-drag: style recalc count 41
legacy-node-drag: task duration 2260ms
legacy-node-drag: script duration 209ms
legacy-node-drag: TBT 1ms
legacy-node-drag: heap used 89.6 MB
legacy-node-drag: DOM nodes 0
legacy-node-drag: event listeners 188
minimap-idle: avg frame time 17ms
minimap-idle: p95 frame time 17ms
minimap-idle: layout duration 0ms
minimap-idle: style recalc duration 1ms
minimap-idle: layout count 0
minimap-idle: style recalc count 1
minimap-idle: task duration 492ms
minimap-idle: script duration 35ms
minimap-idle: TBT 0ms
minimap-idle: heap used 74.1 MB
minimap-idle: DOM nodes -138
minimap-idle: event listeners -74
subgraph-dom-widget-clipping: avg frame time 17ms
subgraph-dom-widget-clipping: p95 frame time 17ms
subgraph-dom-widget-clipping: layout duration 0ms
subgraph-dom-widget-clipping: style recalc duration 9ms
subgraph-dom-widget-clipping: layout count 0
subgraph-dom-widget-clipping: style recalc count 46
subgraph-dom-widget-clipping: task duration 509ms
subgraph-dom-widget-clipping: script duration 141ms
subgraph-dom-widget-clipping: TBT 0ms
subgraph-dom-widget-clipping: heap used 64.0 MB
subgraph-dom-widget-clipping: DOM nodes 17
subgraph-dom-widget-clipping: event listeners 7
subgraph-idle: avg frame time 17ms
subgraph-idle: p95 frame time 17ms
subgraph-idle: layout duration 0ms
subgraph-idle: style recalc duration 8ms
subgraph-idle: layout count 0
subgraph-idle: style recalc count 10
subgraph-idle: task duration 471ms
subgraph-idle: script duration 7ms
subgraph-idle: TBT 0ms
subgraph-idle: heap used 68.6 MB
subgraph-idle: DOM nodes -295
subgraph-idle: event listeners -231
subgraph-mouse-sweep: avg frame time 17ms
subgraph-mouse-sweep: p95 frame time 17ms
subgraph-mouse-sweep: layout duration 4ms
subgraph-mouse-sweep: style recalc duration 37ms
subgraph-mouse-sweep: layout count 16
subgraph-mouse-sweep: style recalc count 77
subgraph-mouse-sweep: task duration 1099ms
subgraph-mouse-sweep: script duration 126ms
subgraph-mouse-sweep: TBT 0ms
subgraph-mouse-sweep: heap used 72.8 MB
subgraph-mouse-sweep: DOM nodes -297
subgraph-mouse-sweep: event listeners -215
subgraph-transition-enter: avg frame time 17ms
subgraph-transition-enter: p95 frame time 17ms
subgraph-transition-enter: layout duration 14ms
subgraph-transition-enter: style recalc duration 31ms
subgraph-transition-enter: layout count 16
subgraph-transition-enter: style recalc count 21
subgraph-transition-enter: task duration 908ms
subgraph-transition-enter: script duration 32ms
subgraph-transition-enter: TBT 133ms
subgraph-transition-enter: heap used 83.4 MB
subgraph-transition-enter: DOM nodes 13671
subgraph-transition-enter: event listeners 2381
viewport-pan-sweep: avg frame time 17ms
viewport-pan-sweep: p95 frame time 17ms
viewport-pan-sweep: layout duration 0ms
viewport-pan-sweep: style recalc duration 32ms
viewport-pan-sweep: layout count 0
viewport-pan-sweep: style recalc count 244
viewport-pan-sweep: task duration 11075ms
viewport-pan-sweep: script duration 4239ms
viewport-pan-sweep: TBT 1ms
viewport-pan-sweep: heap used 76.5 MB
viewport-pan-sweep: DOM nodes -275
viewport-pan-sweep: event listeners -123
vue-large-graph-idle: avg frame time 18ms
vue-large-graph-idle: p95 frame time 17ms
vue-large-graph-idle: layout duration 0ms
vue-large-graph-idle: style recalc duration 0ms
vue-large-graph-idle: layout count 0
vue-large-graph-idle: style recalc count 0
vue-large-graph-idle: task duration 15993ms
vue-large-graph-idle: script duration 330ms
vue-large-graph-idle: TBT 0ms
vue-large-graph-idle: heap used 170.9 MB
vue-large-graph-idle: DOM nodes -6548
vue-large-graph-idle: event listeners -7473
vue-large-graph-pan: avg frame time 17ms
vue-large-graph-pan: p95 frame time 17ms
vue-large-graph-pan: layout duration 0ms
vue-large-graph-pan: style recalc duration 17ms
vue-large-graph-pan: layout count 0
vue-large-graph-pan: style recalc count 175
vue-large-graph-pan: task duration 20500ms
vue-large-graph-pan: script duration 1038ms
vue-large-graph-pan: TBT 72ms
vue-large-graph-pan: heap used 169.3 MB
vue-large-graph-pan: DOM nodes -6548
vue-large-graph-pan: event listeners -7467
workflow-execution: avg frame time 17ms
workflow-execution: p95 frame time 17ms
workflow-execution: layout duration 1ms
workflow-execution: style recalc duration 21ms
workflow-execution: layout count 6
workflow-execution: style recalc count 15
workflow-execution: task duration 121ms
workflow-execution: script duration 7ms
workflow-execution: TBT 0ms
workflow-execution: heap used 68.8 MB
workflow-execution: DOM nodes 130
workflow-execution: event listeners 75
Raw data
{
  "timestamp": "2026-08-23T00:00:24.923Z",
  "gitSha": "26e87c6be87416756058d94393e3ff532c14ecef",
  "branch": "audit/ecs-test-fails",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2036.7349999999647,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.829000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 478.13700000000006,
      "heapDeltaBytes": -177480,
      "heapUsedBytes": 70401264,
      "domNodes": -282,
      "jsHeapTotalBytes": 4448256,
      "scriptDurationMs": 8.298,
      "eventListeners": -185,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-idle",
      "durationMs": 2028.2770000000028,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.123000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 483.062,
      "heapDeltaBytes": -2724772,
      "heapUsedBytes": 67111544,
      "domNodes": -283,
      "jsHeapTotalBytes": 4972544,
      "scriptDurationMs": 8.182,
      "eventListeners": -185,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 2438.9229999999884,
      "styleRecalcs": 86,
      "styleRecalcDurationMs": 45.032000000000004,
      "layouts": 12,
      "layoutDurationMs": 3.7610000000000006,
      "taskDurationMs": 1470.693,
      "heapDeltaBytes": 4865740,
      "heapUsedBytes": 75660568,
      "domNodes": -280,
      "jsHeapTotalBytes": 5496832,
      "scriptDurationMs": 219.001,
      "eventListeners": -155,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 2227.7270000000726,
      "styleRecalcs": 78,
      "styleRecalcDurationMs": 38.342999999999996,
      "layouts": 12,
      "layoutDurationMs": 3.1850000000000005,
      "taskDurationMs": 1254.475,
      "heapDeltaBytes": 7973240,
      "heapUsedBytes": 78311752,
      "domNodes": -279,
      "jsHeapTotalBytes": 5758976,
      "scriptDurationMs": 188.5,
      "eventListeners": -153,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1720.7870000000298,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 16.136999999999997,
      "layouts": 6,
      "layoutDurationMs": 0.6649999999999999,
      "taskDurationMs": 343.23,
      "heapDeltaBytes": 4317520,
      "heapUsedBytes": 75979288,
      "domNodes": 76,
      "jsHeapTotalBytes": 5242880,
      "scriptDurationMs": 10.065000000000001,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1723.0879999999615,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 15.796999999999999,
      "layouts": 6,
      "layoutDurationMs": 0.526,
      "taskDurationMs": 345.261,
      "heapDeltaBytes": 4144268,
      "heapUsedBytes": 75589596,
      "domNodes": 78,
      "jsHeapTotalBytes": 5767168,
      "scriptDurationMs": 10.963000000000001,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 721.9569999999749,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 6.9239999999999995,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 426.02,
      "heapDeltaBytes": -5907264,
      "heapUsedBytes": 64593488,
      "domNodes": 16,
      "jsHeapTotalBytes": 5767168,
      "scriptDurationMs": 31.543000000000003,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 722.6109999999153,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 7.322,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 433.451,
      "heapDeltaBytes": -6057216,
      "heapUsedBytes": 64708484,
      "domNodes": 18,
      "jsHeapTotalBytes": 5767168,
      "scriptDurationMs": 32.510999999999996,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2025.011999999947,
      "styleRecalcs": 1,
      "styleRecalcDurationMs": 1.0369999999999997,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 523.7259999999999,
      "heapDeltaBytes": -9729360,
      "heapUsedBytes": 77343004,
      "domNodes": -279,
      "jsHeapTotalBytes": -860160,
      "scriptDurationMs": 34.72800000000001,
      "eventListeners": -153,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2025.2910000000384,
      "styleRecalcs": 2,
      "styleRecalcDurationMs": 1.8670000000000007,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 526.529,
      "heapDeltaBytes": -9693080,
      "heapUsedBytes": 77272764,
      "domNodes": -274,
      "jsHeapTotalBytes": -1646592,
      "scriptDurationMs": 36.302,
      "eventListeners": -153,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-pan",
      "durationMs": 4213.598999999987,
      "styleRecalcs": 63,
      "styleRecalcDurationMs": 8.505000000000003,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 3177.568,
      "heapDeltaBytes": 30255048,
      "heapUsedBytes": 96156592,
      "domNodes": -275,
      "jsHeapTotalBytes": 5992448,
      "scriptDurationMs": 1269.0210000000002,
      "eventListeners": -149,
      "totalBlockingTimeMs": 2,
      "frameDurationMs": 16.66333333333338,
      "p95FrameDurationMs": 16.80000000000109
    },
    {
      "name": "large-graph-pan",
      "durationMs": 4159.696000000054,
      "styleRecalcs": 62,
      "styleRecalcDurationMs": 7.744999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 3203.441,
      "heapDeltaBytes": 176620,
      "heapUsedBytes": 66473424,
      "domNodes": 0,
      "jsHeapTotalBytes": 5242880,
      "scriptDurationMs": 1252.586,
      "eventListeners": 10,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333338,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 4706.4330000000045,
      "styleRecalcs": 66,
      "styleRecalcDurationMs": 10.822000000000001,
      "layouts": 60,
      "layoutDurationMs": 7.085,
      "taskDurationMs": 2874.808,
      "heapDeltaBytes": 20192748,
      "heapUsedBytes": 91475076,
      "domNodes": 24,
      "jsHeapTotalBytes": 5242880,
      "scriptDurationMs": 1081.019,
      "eventListeners": 12,
      "totalBlockingTimeMs": 4,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 4824.016000000029,
      "styleRecalcs": 66,
      "styleRecalcDurationMs": 10.488000000000001,
      "layouts": 60,
      "layoutDurationMs": 6.813000000000001,
      "taskDurationMs": 2922.4940000000006,
      "heapDeltaBytes": -4091256,
      "heapUsedBytes": 67213652,
      "domNodes": 24,
      "jsHeapTotalBytes": 3932160,
      "scriptDurationMs": 1100.4799999999998,
      "eventListeners": 12,
      "totalBlockingTimeMs": 3,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "legacy-node-drag",
      "durationMs": 3169.74399999998,
      "styleRecalcs": 41,
      "styleRecalcDurationMs": 5.124,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 2253.246,
      "heapDeltaBytes": 24541380,
      "heapUsedBytes": 95835452,
      "domNodes": 0,
      "jsHeapTotalBytes": 1753088,
      "scriptDurationMs": 201.75199999999998,
      "eventListeners": 188,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "legacy-node-drag",
      "durationMs": 3287.0980000000145,
      "styleRecalcs": 41,
      "styleRecalcDurationMs": 5.228,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 2267.498,
      "heapDeltaBytes": 23488792,
      "heapUsedBytes": 92097184,
      "domNodes": 0,
      "jsHeapTotalBytes": 4636672,
      "scriptDurationMs": 217.03099999999998,
      "eventListeners": 188,
      "totalBlockingTimeMs": 2,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.80000000000109
    },
    {
      "name": "minimap-idle",
      "durationMs": 2022.0919999999865,
      "styleRecalcs": 2,
      "styleRecalcDurationMs": 2.0069999999999983,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 518.089,
      "heapDeltaBytes": -11760064,
      "heapUsedBytes": 77320256,
      "domNodes": -276,
      "jsHeapTotalBytes": -1122304,
      "scriptDurationMs": 34.524,
      "eventListeners": -153,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "minimap-idle",
      "durationMs": 1996.8579999999747,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 466.7629999999999,
      "heapDeltaBytes": 12267944,
      "heapUsedBytes": 78078688,
      "domNodes": 0,
      "jsHeapTotalBytes": 0,
      "scriptDurationMs": 36.367999999999995,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 700.8179999999697,
      "styleRecalcs": 46,
      "styleRecalcDurationMs": 9.527000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 512.9079999999999,
      "heapDeltaBytes": -5954456,
      "heapUsedBytes": 67203048,
      "domNodes": 18,
      "jsHeapTotalBytes": 6291456,
      "scriptDurationMs": 144.145,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 709.7969999999805,
      "styleRecalcs": 45,
      "styleRecalcDurationMs": 8.431999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 505.87899999999996,
      "heapDeltaBytes": -5920008,
      "heapUsedBytes": 66910068,
      "domNodes": 16,
      "jsHeapTotalBytes": 6553600,
      "scriptDurationMs": 138.357,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2005.059000000017,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 8.573,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 471.287,
      "heapDeltaBytes": 2159188,
      "heapUsedBytes": 74266280,
      "domNodes": -295,
      "jsHeapTotalBytes": 5758976,
      "scriptDurationMs": 7.622999999999999,
      "eventListeners": -231,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2003.7469999999757,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.3439999999999985,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 470.418,
      "heapDeltaBytes": -2933340,
      "heapUsedBytes": 69494456,
      "domNodes": -295,
      "jsHeapTotalBytes": 5496832,
      "scriptDurationMs": 7.326999999999998,
      "eventListeners": -231,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1901.4530000000036,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 37.961,
      "layouts": 16,
      "layoutDurationMs": 4.13,
      "taskDurationMs": 1110.592,
      "heapDeltaBytes": 9499340,
      "heapUsedBytes": 81708788,
      "domNodes": -298,
      "jsHeapTotalBytes": 6807552,
      "scriptDurationMs": 126.661,
      "eventListeners": -231,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1842.734000000064,
      "styleRecalcs": 77,
      "styleRecalcDurationMs": 35.11,
      "layouts": 16,
      "layoutDurationMs": 3.9970000000000008,
      "taskDurationMs": 1086.6370000000002,
      "heapDeltaBytes": -996024,
      "heapUsedBytes": 70924480,
      "domNodes": -296,
      "jsHeapTotalBytes": 6545408,
      "scriptDurationMs": 125.21800000000002,
      "eventListeners": -199,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-transition-enter",
      "durationMs": 1417.8349999999682,
      "styleRecalcs": 21,
      "styleRecalcDurationMs": 30.762999999999998,
      "layouts": 16,
      "layoutDurationMs": 14.131999999999998,
      "taskDurationMs": 907.9029999999999,
      "heapDeltaBytes": -7278392,
      "heapUsedBytes": 87501604,
      "domNodes": 13671,
      "jsHeapTotalBytes": 9961472,
      "scriptDurationMs": 31.767000000000003,
      "eventListeners": 2381,
      "totalBlockingTimeMs": 133,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 14498.026000000038,
      "styleRecalcs": 244,
      "styleRecalcDurationMs": 31.555,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 11049.068,
      "heapDeltaBytes": -6962648,
      "heapUsedBytes": 80361724,
      "domNodes": -274,
      "jsHeapTotalBytes": 4313088,
      "scriptDurationMs": 4238.133000000001,
      "eventListeners": -123,
      "totalBlockingTimeMs": 2,
      "frameDurationMs": 16.670000000000073,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 14520.79100000003,
      "styleRecalcs": 244,
      "styleRecalcDurationMs": 31.682000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 11101.613,
      "heapDeltaBytes": -7357072,
      "heapUsedBytes": 80039928,
      "domNodes": -276,
      "jsHeapTotalBytes": 5099520,
      "scriptDurationMs": 4239.026999999999,
      "eventListeners": -123,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333338,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 16658.68499999999,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 16009.762000000002,
      "heapDeltaBytes": -32482832,
      "heapUsedBytes": 177954876,
      "domNodes": -6548,
      "jsHeapTotalBytes": -647168,
      "scriptDurationMs": 333.044,
      "eventListeners": -7473,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 16683.09199999999,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 15975.654999999999,
      "heapDeltaBytes": -28850320,
      "heapUsedBytes": 180378012,
      "domNodes": -6548,
      "jsHeapTotalBytes": 3080192,
      "scriptDurationMs": 327.558,
      "eventListeners": -7473,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 20861.264000000006,
      "styleRecalcs": 173,
      "styleRecalcDurationMs": 17.268999999999977,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 20528.817,
      "heapDeltaBytes": -41769456,
      "heapUsedBytes": 167535096,
      "domNodes": -6548,
      "jsHeapTotalBytes": -3227648,
      "scriptDurationMs": 1026.884,
      "eventListeners": -7467,
      "totalBlockingTimeMs": 78,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 20830.20799999997,
      "styleRecalcs": 176,
      "styleRecalcDurationMs": 17.153999999999975,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 20470.549,
      "heapDeltaBytes": -24684016,
      "heapUsedBytes": 187424300,
      "domNodes": -6548,
      "jsHeapTotalBytes": -7110656,
      "scriptDurationMs": 1049.602,
      "eventListeners": -7467,
      "totalBlockingTimeMs": 66,
      "frameDurationMs": 17.220000000000073,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "workflow-execution",
      "durationMs": 489.1169999999647,
      "styleRecalcs": 20,
      "styleRecalcDurationMs": 24.517000000000003,
      "layouts": 9,
      "layoutDurationMs": 1.9469999999999998,
      "taskDurationMs": 136.619,
      "heapDeltaBytes": 5982276,
      "heapUsedBytes": 72805156,
      "domNodes": 148,
      "jsHeapTotalBytes": 0,
      "scriptDurationMs": 8.146999999999998,
      "eventListeners": 99,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "workflow-execution",
      "durationMs": 146.6209999999819,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 18.375999999999998,
      "layouts": 3,
      "layoutDurationMs": 0.768,
      "taskDurationMs": 105.946,
      "heapDeltaBytes": 3991400,
      "heapUsedBytes": 71538120,
      "domNodes": 111,
      "jsHeapTotalBytes": 0,
      "scriptDurationMs": 6.564,
      "eventListeners": 51,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.800000000000182
    }
  ]
}

@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: f6aa1da3-968c-4575-83ab-42b3e8d10b13

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the risk:R3 PR risk grade (advisory shadow check; grader-owned) label Aug 22, 2026
@codecov

codecov Bot commented Aug 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.09677% with 4 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/lib/litegraph/src/linkDeduplication.ts 66.66% 3 Missing ⚠️
src/lib/litegraph/src/subgraph/SubgraphNode.ts 93.33% 1 Missing ⚠️
@@                     Coverage Diff                      @@
##           fix/ecs-review-findings   #15654       +/-   ##
============================================================
+ Coverage                    67.48%   82.27%   +14.78%     
============================================================
  Files                         1556     1908      +352     
  Lines                        73857   108345    +34488     
  Branches                     18259    30250    +11991     
============================================================
+ Hits                         49840    89137    +39297     
+ Misses                       22732    18877     -3855     
+ Partials                      1285      331      -954     
Flag Coverage Δ
e2e 67.51% <89.28%> (+0.03%) ⬆️
unit 74.06% <93.33%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/lib/litegraph/src/LGraph.ts 78.72% <100.00%> (+0.03%) ⬆️
src/lib/litegraph/src/LLink.ts 69.06% <100.00%> (+0.69%) ⬆️
src/lib/litegraph/src/subgraph/SubgraphNode.ts 90.37% <93.33%> (+9.94%) ⬆️
src/lib/litegraph/src/linkDeduplication.ts 79.59% <66.66%> (-0.85%) ⬇️

... and 1682 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

risk:R3 PR risk grade (advisory shadow check; grader-owned)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants