Skip to content

test(e2e): custom-node empty-name widget doesn't blank the node grid (#13773)#13779

Merged
AustinMroz merged 2 commits into
fix/widget-store-custom-node-widgetsfrom
test/widget-store-e2e-regressions
Jul 18, 2026
Merged

test(e2e): custom-node empty-name widget doesn't blank the node grid (#13773)#13779
AustinMroz merged 2 commits into
fix/widget-store-custom-node-widgetsfrom
test/widget-store-e2e-regressions

Conversation

@christian-byrne

Copy link
Copy Markdown
Contributor

Summary

Playwright regression for #13773: a custom node that registers a client-side widget with an empty/placeholder name (an un-keyable widget id) must not trip the Vue NodeWidgets error boundary and blank the node's entire widget grid.

Changes

  • What: browser_tests/tests/vueNodes/widgets/emptyNameWidget.spec.ts — a registerExtension nodeCreated hook adds an empty-name widget to a KSampler, then asserts the widget grid renders (not .node-error) and the schema siblings (seed/steps/cfg) stay visible. Behavioral, retrying assertions, no waitForTimeout; a precondition poll confirms the empty-name widget is actually present so the test can't pass vacuously.
  • Breaking: none (test only).

Review Focus

Locks in the defensive guard from #13773 regardless of the exact custom-node trigger.

A custom node that registers a client-side widget with an empty/placeholder
name produces an un-keyable widget id (empty name segment). Before #13773
parseWidgetId threw on that id, tripping the Vue NodeWidgets error boundary and
blanking the node's entire widget grid.

Emulate the case via a nodeCreated extension hook that adds an empty-name widget
to a KSampler, then assert the widget grid still renders (not the error
boundary) and the schema-declared siblings (seed, steps, cfg) are visible.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 18, 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: 270c9d1d-8b3b-4089-b562-efa066163edd

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test/widget-store-e2e-regressions

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

@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

🎭 Playwright: ✅ 1712 passed, 0 failed · 3 flaky

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

📦 Bundle Size

⏳ Size data collection in progress…

⚡ Performance Report

canvas-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 45.2 MB heap
canvas-mouse-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 52.2 MB heap
canvas-zoom-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 72.6 MB heap
dom-widget-clipping: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 54.5 MB heap
large-graph-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 62.9 MB heap
large-graph-pan: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 56.2 MB heap
large-graph-zoom: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 57.6 MB heap
minimap-idle: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 63.1 MB heap
subgraph-dom-widget-clipping: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 55.1 MB heap
subgraph-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 45.7 MB heap
subgraph-mouse-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 47.9 MB heap
subgraph-transition-enter: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 123ms TBT · 90.9 MB heap
viewport-pan-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 71.7 MB heap
vue-large-graph-idle: · 58.1 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 164.0 MB heap
vue-large-graph-pan: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 10ms TBT · 153.4 MB heap
workflow-execution: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 50.0 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 8ms
canvas-idle: layout count 0
canvas-idle: style recalc count 9
canvas-idle: task duration 519ms
canvas-idle: script duration 25ms
canvas-idle: TBT 0ms
canvas-idle: heap used 45.2 MB
canvas-idle: DOM nodes -265
canvas-idle: event listeners -132
canvas-mouse-sweep: avg frame time 17ms
canvas-mouse-sweep: p95 frame time 17ms
canvas-mouse-sweep: layout duration 4ms
canvas-mouse-sweep: style recalc duration 38ms
canvas-mouse-sweep: layout count 12
canvas-mouse-sweep: style recalc count 75
canvas-mouse-sweep: task duration 829ms
canvas-mouse-sweep: script duration 118ms
canvas-mouse-sweep: TBT 0ms
canvas-mouse-sweep: heap used 52.2 MB
canvas-mouse-sweep: DOM nodes -265
canvas-mouse-sweep: event listeners -133
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 18ms
canvas-zoom-sweep: layout count 6
canvas-zoom-sweep: style recalc count 32
canvas-zoom-sweep: task duration 351ms
canvas-zoom-sweep: script duration 25ms
canvas-zoom-sweep: TBT 0ms
canvas-zoom-sweep: heap used 72.6 MB
canvas-zoom-sweep: DOM nodes 78
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 9ms
dom-widget-clipping: layout count 0
dom-widget-clipping: style recalc count 13
dom-widget-clipping: task duration 355ms
dom-widget-clipping: script duration 57ms
dom-widget-clipping: TBT 0ms
dom-widget-clipping: heap used 54.5 MB
dom-widget-clipping: DOM nodes 21
dom-widget-clipping: event listeners 0
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 7ms
large-graph-idle: layout count 0
large-graph-idle: style recalc count 9
large-graph-idle: task duration 580ms
large-graph-idle: script duration 87ms
large-graph-idle: TBT 0ms
large-graph-idle: heap used 62.9 MB
large-graph-idle: DOM nodes -268
large-graph-idle: event listeners -128
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 16ms
large-graph-pan: layout count 0
large-graph-pan: style recalc count 69
large-graph-pan: task duration 1133ms
large-graph-pan: script duration 378ms
large-graph-pan: TBT 0ms
large-graph-pan: heap used 56.2 MB
large-graph-pan: DOM nodes -268
large-graph-pan: event listeners -128
large-graph-zoom: avg frame time 17ms
large-graph-zoom: p95 frame time 17ms
large-graph-zoom: layout duration 9ms
large-graph-zoom: style recalc duration 18ms
large-graph-zoom: layout count 60
large-graph-zoom: style recalc count 66
large-graph-zoom: task duration 1382ms
large-graph-zoom: script duration 457ms
large-graph-zoom: TBT 0ms
large-graph-zoom: heap used 57.6 MB
large-graph-zoom: DOM nodes -272
large-graph-zoom: event listeners -133
minimap-idle: avg frame time 17ms
minimap-idle: p95 frame time 17ms
minimap-idle: layout duration 0ms
minimap-idle: style recalc duration 7ms
minimap-idle: layout count 0
minimap-idle: style recalc count 9
minimap-idle: task duration 578ms
minimap-idle: script duration 87ms
minimap-idle: TBT 0ms
minimap-idle: heap used 63.1 MB
minimap-idle: DOM nodes -269
minimap-idle: event listeners -129
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 11ms
subgraph-dom-widget-clipping: layout count 0
subgraph-dom-widget-clipping: style recalc count 48
subgraph-dom-widget-clipping: task duration 380ms
subgraph-dom-widget-clipping: script duration 118ms
subgraph-dom-widget-clipping: TBT 0ms
subgraph-dom-widget-clipping: heap used 55.1 MB
subgraph-dom-widget-clipping: DOM nodes 22
subgraph-dom-widget-clipping: event listeners 6
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 440ms
subgraph-idle: script duration 20ms
subgraph-idle: TBT 0ms
subgraph-idle: heap used 45.7 MB
subgraph-idle: DOM nodes -122
subgraph-idle: event listeners -121
subgraph-mouse-sweep: avg frame time 17ms
subgraph-mouse-sweep: p95 frame time 17ms
subgraph-mouse-sweep: layout duration 5ms
subgraph-mouse-sweep: style recalc duration 39ms
subgraph-mouse-sweep: layout count 16
subgraph-mouse-sweep: style recalc count 76
subgraph-mouse-sweep: task duration 773ms
subgraph-mouse-sweep: script duration 93ms
subgraph-mouse-sweep: TBT 0ms
subgraph-mouse-sweep: heap used 47.9 MB
subgraph-mouse-sweep: DOM nodes -266
subgraph-mouse-sweep: event listeners -133
subgraph-transition-enter: avg frame time 17ms
subgraph-transition-enter: p95 frame time 17ms
subgraph-transition-enter: layout duration 11ms
subgraph-transition-enter: style recalc duration 28ms
subgraph-transition-enter: layout count 14
subgraph-transition-enter: style recalc count 18
subgraph-transition-enter: task duration 756ms
subgraph-transition-enter: script duration 29ms
subgraph-transition-enter: TBT 123ms
subgraph-transition-enter: heap used 90.9 MB
subgraph-transition-enter: DOM nodes 13673
subgraph-transition-enter: event listeners 2371
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 46ms
viewport-pan-sweep: layout count 0
viewport-pan-sweep: style recalc count 250
viewport-pan-sweep: task duration 3942ms
viewport-pan-sweep: script duration 1222ms
viewport-pan-sweep: TBT 0ms
viewport-pan-sweep: heap used 71.7 MB
viewport-pan-sweep: DOM nodes -268
viewport-pan-sweep: event listeners -113
vue-large-graph-idle: avg frame time 17ms
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 11035ms
vue-large-graph-idle: script duration 527ms
vue-large-graph-idle: TBT 0ms
vue-large-graph-idle: heap used 164.0 MB
vue-large-graph-idle: DOM nodes -8311
vue-large-graph-idle: event listeners -16385
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 15ms
vue-large-graph-pan: layout count 0
vue-large-graph-pan: style recalc count 67
vue-large-graph-pan: task duration 13909ms
vue-large-graph-pan: script duration 800ms
vue-large-graph-pan: TBT 10ms
vue-large-graph-pan: heap used 153.4 MB
vue-large-graph-pan: DOM nodes -8311
vue-large-graph-pan: event listeners -16383
workflow-execution: avg frame time 17ms
workflow-execution: p95 frame time 17ms
workflow-execution: layout duration 1ms
workflow-execution: style recalc duration 20ms
workflow-execution: layout count 3
workflow-execution: style recalc count 15
workflow-execution: task duration 128ms
workflow-execution: script duration 11ms
workflow-execution: TBT 0ms
workflow-execution: heap used 50.0 MB
workflow-execution: DOM nodes 136
workflow-execution: event listeners 66
Raw data
{
  "timestamp": "2026-07-18T02:58:29.654Z",
  "gitSha": "9534ee4ce307facf0e1a06ef6d3207f841ae07d3",
  "branch": "test/widget-store-e2e-regressions",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2155.598999999995,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 6.947,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 551.832,
      "heapDeltaBytes": -20623892,
      "heapUsedBytes": 48156284,
      "domNodes": -264,
      "jsHeapTotalBytes": 19542016,
      "scriptDurationMs": 25.929000000000002,
      "eventListeners": -131,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "canvas-idle",
      "durationMs": 2057.6409999999896,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 9.490999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 485.58699999999993,
      "heapDeltaBytes": -22332752,
      "heapUsedBytes": 46657852,
      "domNodes": -265,
      "jsHeapTotalBytes": 19279872,
      "scriptDurationMs": 23.887999999999998,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1792.2590000000014,
      "styleRecalcs": 74,
      "styleRecalcDurationMs": 35.68300000000001,
      "layouts": 12,
      "layoutDurationMs": 3.934,
      "taskDurationMs": 797.515,
      "heapDeltaBytes": -15161812,
      "heapUsedBytes": 53722944,
      "domNodes": -266,
      "jsHeapTotalBytes": 19542016,
      "scriptDurationMs": 111.11699999999999,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1859.7189999999841,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 40.739,
      "layouts": 12,
      "layoutDurationMs": 3.7199999999999998,
      "taskDurationMs": 859.904,
      "heapDeltaBytes": -12963456,
      "heapUsedBytes": 55817180,
      "domNodes": -264,
      "jsHeapTotalBytes": 20590592,
      "scriptDurationMs": 124.93599999999999,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1723.128000000031,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 16.999,
      "layouts": 6,
      "layoutDurationMs": 0.742,
      "taskDurationMs": 348.862,
      "heapDeltaBytes": 7348532,
      "heapUsedBytes": 76109032,
      "domNodes": 78,
      "jsHeapTotalBytes": 19677184,
      "scriptDurationMs": 23.878999999999998,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1740.0250000000597,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 19.230000000000004,
      "layouts": 6,
      "layoutDurationMs": 0.8400000000000001,
      "taskDurationMs": 353.107,
      "heapDeltaBytes": 7254336,
      "heapUsedBytes": 76203212,
      "domNodes": 78,
      "jsHeapTotalBytes": 19677184,
      "scriptDurationMs": 25.447,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 575.5459999999744,
      "styleRecalcs": 13,
      "styleRecalcDurationMs": 9.39,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 352.36400000000003,
      "heapDeltaBytes": -11689044,
      "heapUsedBytes": 57172080,
      "domNodes": 22,
      "jsHeapTotalBytes": 19415040,
      "scriptDurationMs": 57.449,
      "eventListeners": 0,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 592.0189999999934,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 8.61,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 358.23499999999996,
      "heapDeltaBytes": -11535484,
      "heapUsedBytes": 57198036,
      "domNodes": 20,
      "jsHeapTotalBytes": 19939328,
      "scriptDurationMs": 55.696999999999996,
      "eventListeners": 0,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2028.9670000000228,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 6.607000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 570.059,
      "heapDeltaBytes": 5479504,
      "heapUsedBytes": 65450596,
      "domNodes": -269,
      "jsHeapTotalBytes": 5193728,
      "scriptDurationMs": 86.76500000000001,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2015.8100000000445,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.165,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 589.665,
      "heapDeltaBytes": 4876648,
      "heapUsedBytes": 66357632,
      "domNodes": -267,
      "jsHeapTotalBytes": 4931584,
      "scriptDurationMs": 86.982,
      "eventListeners": -127,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2144.8279999999613,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 15.528000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1099.17,
      "heapDeltaBytes": -433908,
      "heapUsedBytes": 61795932,
      "domNodes": -267,
      "jsHeapTotalBytes": 5136384,
      "scriptDurationMs": 365.469,
      "eventListeners": -127,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2174.9060000000213,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 17.384999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1166.81,
      "heapDeltaBytes": -4257540,
      "heapUsedBytes": 56133176,
      "domNodes": -269,
      "jsHeapTotalBytes": 4931584,
      "scriptDurationMs": 390.318,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3253.5609999999906,
      "styleRecalcs": 65,
      "styleRecalcDurationMs": 17.032000000000004,
      "layouts": 60,
      "layoutDurationMs": 9.251000000000001,
      "taskDurationMs": 1360.839,
      "heapDeltaBytes": 1527276,
      "heapUsedBytes": 63288688,
      "domNodes": -273,
      "jsHeapTotalBytes": 8601600,
      "scriptDurationMs": 455.762,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3175.4760000000033,
      "styleRecalcs": 66,
      "styleRecalcDurationMs": 18.851999999999997,
      "layouts": 60,
      "layoutDurationMs": 9.144,
      "taskDurationMs": 1403.691,
      "heapDeltaBytes": -4312228,
      "heapUsedBytes": 57580592,
      "domNodes": -270,
      "jsHeapTotalBytes": 8077312,
      "scriptDurationMs": 458.07300000000004,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "minimap-idle",
      "durationMs": 2027.2090000000276,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.101,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 570.138,
      "heapDeltaBytes": 4917052,
      "heapUsedBytes": 66330772,
      "domNodes": -269,
      "jsHeapTotalBytes": 3883008,
      "scriptDurationMs": 87.337,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "minimap-idle",
      "durationMs": 2011.380000000031,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.6419999999999995,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 586.2230000000001,
      "heapDeltaBytes": 4924324,
      "heapUsedBytes": 65976152,
      "domNodes": -268,
      "jsHeapTotalBytes": 4145152,
      "scriptDurationMs": 85.741,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 600.5170000000248,
      "styleRecalcs": 47,
      "styleRecalcDurationMs": 10.492999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 370.858,
      "heapDeltaBytes": -11144564,
      "heapUsedBytes": 57783076,
      "domNodes": 20,
      "jsHeapTotalBytes": 20725760,
      "scriptDurationMs": 116.085,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 621.3050000000067,
      "styleRecalcs": 49,
      "styleRecalcDurationMs": 12.435000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 389.30199999999996,
      "heapDeltaBytes": -11051728,
      "heapUsedBytes": 57830064,
      "domNodes": 24,
      "jsHeapTotalBytes": 20201472,
      "scriptDurationMs": 120.004,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2024.15000000002,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 8.166,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 424.98100000000005,
      "heapDeltaBytes": -22624736,
      "heapUsedBytes": 46218164,
      "domNodes": 22,
      "jsHeapTotalBytes": 20590592,
      "scriptDurationMs": 18.069000000000003,
      "eventListeners": -109,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2006.056000000001,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.666000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 455.9829999999999,
      "heapDeltaBytes": -19535596,
      "heapUsedBytes": 49562588,
      "domNodes": -266,
      "jsHeapTotalBytes": 19017728,
      "scriptDurationMs": 21.061999999999998,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1737.3440000000073,
      "styleRecalcs": 74,
      "styleRecalcDurationMs": 36.135,
      "layouts": 16,
      "layoutDurationMs": 4.787000000000001,
      "taskDurationMs": 735.126,
      "heapDeltaBytes": -17603132,
      "heapUsedBytes": 51374656,
      "domNodes": -269,
      "jsHeapTotalBytes": 20066304,
      "scriptDurationMs": 88.193,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1747.6289999999608,
      "styleRecalcs": 77,
      "styleRecalcDurationMs": 42.335,
      "layouts": 16,
      "layoutDurationMs": 4.786,
      "taskDurationMs": 810.0070000000001,
      "heapDeltaBytes": -19785928,
      "heapUsedBytes": 49013804,
      "domNodes": -262,
      "jsHeapTotalBytes": 20590592,
      "scriptDurationMs": 96.93299999999999,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-transition-enter",
      "durationMs": 965.4350000000136,
      "styleRecalcs": 18,
      "styleRecalcDurationMs": 28.29799999999999,
      "layouts": 14,
      "layoutDurationMs": 10.658000000000001,
      "taskDurationMs": 755.6719999999999,
      "heapDeltaBytes": 29068888,
      "heapUsedBytes": 95341812,
      "domNodes": 13673,
      "jsHeapTotalBytes": 15204352,
      "scriptDurationMs": 28.63199999999999,
      "eventListeners": 2371,
      "totalBlockingTimeMs": 123,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8164.138000000037,
      "styleRecalcs": 249,
      "styleRecalcDurationMs": 44.653999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 3841.7909999999997,
      "heapDeltaBytes": 15270876,
      "heapUsedBytes": 75067088,
      "domNodes": -269,
      "jsHeapTotalBytes": 7757824,
      "scriptDurationMs": 1192.499,
      "eventListeners": -113,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8200.603000000001,
      "styleRecalcs": 250,
      "styleRecalcDurationMs": 47.318,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4041.552,
      "heapDeltaBytes": 16005964,
      "heapUsedBytes": 75395972,
      "domNodes": -267,
      "jsHeapTotalBytes": 7757824,
      "scriptDurationMs": 1252.028,
      "eventListeners": -113,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 10926.796000000024,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 10913.364000000001,
      "heapDeltaBytes": -40708348,
      "heapUsedBytes": 171898488,
      "domNodes": -8311,
      "jsHeapTotalBytes": -7802880,
      "scriptDurationMs": 520.02,
      "eventListeners": -16384,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.223333333333358,
      "p95FrameDurationMs": 16.80000000000291
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 11173.135999999999,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 11157.456999999999,
      "heapDeltaBytes": -55957916,
      "heapUsedBytes": 172040828,
      "domNodes": -8311,
      "jsHeapTotalBytes": -8327168,
      "scriptDurationMs": 533.517,
      "eventListeners": -16386,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.219999999999953,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 13956.005000000005,
      "styleRecalcs": 68,
      "styleRecalcDurationMs": 14.944999999999986,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 13932.878999999999,
      "heapDeltaBytes": -36782332,
      "heapUsedBytes": 164739924,
      "domNodes": -8311,
      "jsHeapTotalBytes": -13832192,
      "scriptDurationMs": 795.797,
      "eventListeners": -16382,
      "totalBlockingTimeMs": 17,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 13910.713999999985,
      "styleRecalcs": 66,
      "styleRecalcDurationMs": 14.980000000000022,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 13885.213,
      "heapDeltaBytes": -53572360,
      "heapUsedBytes": 157004488,
      "domNodes": -8311,
      "jsHeapTotalBytes": -12783616,
      "scriptDurationMs": 804.864,
      "eventListeners": -16384,
      "totalBlockingTimeMs": 3,
      "frameDurationMs": 16.66333333333338,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "workflow-execution",
      "durationMs": 501.28200000000334,
      "styleRecalcs": 18,
      "styleRecalcDurationMs": 21.081,
      "layouts": 3,
      "layoutDurationMs": 1.1520000000000001,
      "taskDurationMs": 143.80700000000002,
      "heapDeltaBytes": -15477172,
      "heapUsedBytes": 52677408,
      "domNodes": 154,
      "jsHeapTotalBytes": 6569984,
      "scriptDurationMs": 12.326000000000002,
      "eventListeners": 67,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "workflow-execution",
      "durationMs": 464.42400000000816,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 19.209,
      "layouts": 3,
      "layoutDurationMs": 0.8640000000000002,
      "taskDurationMs": 113.016,
      "heapDeltaBytes": -15851824,
      "heapUsedBytes": 52237824,
      "domNodes": 117,
      "jsHeapTotalBytes": 6045696,
      "scriptDurationMs": 9.711,
      "eventListeners": 65,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66666666666665,
      "p95FrameDurationMs": 16.700000000000728
    }
  ]
}

@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@                          Coverage Diff                          @@
##           fix/widget-store-custom-node-widgets   #13779   +/-   ##
=====================================================================
  Coverage                                 78.29%   78.30%           
=====================================================================
  Files                                      1683     1683           
  Lines                                     98527    98529    +2     
  Branches                                  35479    35474    -5     
=====================================================================
+ Hits                                      77141    77149    +8     
+ Misses                                    20921    20915    -6     
  Partials                                    465      465           
Flag Coverage Δ
unit 67.24% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 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.

@AustinMroz
AustinMroz marked this pull request as ready for review July 18, 2026 03:33
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jul 18, 2026
@AustinMroz
AustinMroz merged commit 5b14113 into fix/widget-store-custom-node-widgets Jul 18, 2026
55 checks passed
@AustinMroz
AustinMroz deleted the test/widget-store-e2e-regressions branch July 18, 2026 03:33
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants