Skip to content

fix(workspace): handle ended team subscription - #14497

Closed
wei-hai wants to merge 1 commit into
cloud/1.48from
agent/fix-ended-team-subscription
Closed

fix(workspace): handle ended team subscription#14497
wei-hai wants to merge 1 commit into
cloud/1.48from
agent/fix-ended-team-subscription

Conversation

@wei-hai

@wei-hai wei-hai commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Treat an inactive subscription_status: ended as terminal for every workspace type before stale paid-plan metadata is considered.
  • Show the workspace subscription prompt instead of a stale Standard plan after immediate cancellation.
  • Add component and Playwright regression coverage for the full Settings → Workspace flow.

Root cause

The cloud/1.48 backport only recognized terminal billing state for personal-typed workspaces. An ended subscription attached to a team-typed workspace retained paid-plan identity, which suppressed the subscribe prompt.

Validation

  • Component tests: 31 passed
  • Playwright cloud regression: 1 passed
  • oxfmt check
  • type-aware oxlint
  • git diff --check

@coderabbitai

coderabbitai Bot commented Jul 31, 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: 7d87e5b3-6bad-4300-a054-99ed17e0b84f

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 07/31/2026, 07:15:15 PM UTC

Links

🎭 Playwright: ✅ 1751 passed, 0 failed · 2 flaky

📊 Browser Reports
  • chromium: View Report (✅ 1730 / ❌ 0 / ⚠️ 2 / ⏭️ 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.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.6 MB heap
canvas-mouse-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 50.6 MB heap
canvas-zoom-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 71.5 MB heap
dom-widget-clipping: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 53.2 MB heap
large-graph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 61.9 MB heap
large-graph-pan: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 58.9 MB heap
large-graph-zoom: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.7 MB heap
minimap-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.0 MB heap
subgraph-dom-widget-clipping: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 53.3 MB heap
subgraph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 43.7 MB heap
subgraph-mouse-sweep: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 45.5 MB heap
subgraph-transition-enter: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 131ms TBT · 91.4 MB heap
viewport-pan-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 60.8 MB heap
vue-large-graph-idle: · 56.3 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 159.8 MB heap
vue-large-graph-pan: · 56.3 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 152ms TBT · 168.3 MB heap
workflow-execution: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 48.6 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 10
canvas-idle: task duration 465ms
canvas-idle: script duration 15ms
canvas-idle: TBT 0ms
canvas-idle: heap used 68.6 MB
canvas-idle: DOM nodes 20
canvas-idle: event listeners 4
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 42ms
canvas-mouse-sweep: layout count 12
canvas-mouse-sweep: style recalc count 76
canvas-mouse-sweep: task duration 966ms
canvas-mouse-sweep: script duration 128ms
canvas-mouse-sweep: TBT 0ms
canvas-mouse-sweep: heap used 50.6 MB
canvas-mouse-sweep: DOM nodes -276
canvas-mouse-sweep: event listeners -147
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 19ms
canvas-zoom-sweep: layout count 6
canvas-zoom-sweep: style recalc count 32
canvas-zoom-sweep: task duration 400ms
canvas-zoom-sweep: script duration 20ms
canvas-zoom-sweep: TBT 0ms
canvas-zoom-sweep: heap used 71.5 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 11
dom-widget-clipping: task duration 382ms
dom-widget-clipping: script duration 61ms
dom-widget-clipping: TBT 0ms
dom-widget-clipping: heap used 53.2 MB
dom-widget-clipping: DOM nodes 18
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 8ms
large-graph-idle: layout count 0
large-graph-idle: style recalc count 9
large-graph-idle: task duration 683ms
large-graph-idle: script duration 106ms
large-graph-idle: TBT 0ms
large-graph-idle: heap used 61.9 MB
large-graph-idle: DOM nodes -276
large-graph-idle: event listeners -143
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 14ms
large-graph-pan: layout count 0
large-graph-pan: style recalc count 69
large-graph-pan: task duration 1267ms
large-graph-pan: script duration 431ms
large-graph-pan: TBT 0ms
large-graph-pan: heap used 58.9 MB
large-graph-pan: DOM nodes -276
large-graph-pan: event listeners -143
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 14ms
large-graph-zoom: layout count 60
large-graph-zoom: style recalc count 65
large-graph-zoom: task duration 1467ms
large-graph-zoom: script duration 523ms
large-graph-zoom: TBT 0ms
large-graph-zoom: heap used 68.7 MB
large-graph-zoom: DOM nodes -135
large-graph-zoom: event listeners -70
minimap-idle: avg frame time 17ms
minimap-idle: p95 frame time 17ms
minimap-idle: layout duration 0ms
minimap-idle: style recalc duration 8ms
minimap-idle: layout count 0
minimap-idle: style recalc count 8
minimap-idle: task duration 690ms
minimap-idle: script duration 110ms
minimap-idle: TBT 0ms
minimap-idle: heap used 64.0 MB
minimap-idle: DOM nodes -279
minimap-idle: event listeners -144
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 396ms
subgraph-dom-widget-clipping: script duration 120ms
subgraph-dom-widget-clipping: TBT 0ms
subgraph-dom-widget-clipping: heap used 53.3 MB
subgraph-dom-widget-clipping: DOM nodes 21
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 476ms
subgraph-idle: script duration 13ms
subgraph-idle: TBT 0ms
subgraph-idle: heap used 43.7 MB
subgraph-idle: DOM nodes 19
subgraph-idle: event listeners 4
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 36ms
subgraph-mouse-sweep: layout count 16
subgraph-mouse-sweep: style recalc count 76
subgraph-mouse-sweep: task duration 802ms
subgraph-mouse-sweep: script duration 89ms
subgraph-mouse-sweep: TBT 0ms
subgraph-mouse-sweep: heap used 45.5 MB
subgraph-mouse-sweep: DOM nodes -273
subgraph-mouse-sweep: event listeners -148
subgraph-transition-enter: avg frame time 17ms
subgraph-transition-enter: p95 frame time 17ms
subgraph-transition-enter: layout duration 12ms
subgraph-transition-enter: style recalc duration 29ms
subgraph-transition-enter: layout count 14
subgraph-transition-enter: style recalc count 18
subgraph-transition-enter: task duration 926ms
subgraph-transition-enter: script duration 33ms
subgraph-transition-enter: TBT 131ms
subgraph-transition-enter: heap used 91.4 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 37ms
viewport-pan-sweep: layout count 0
viewport-pan-sweep: style recalc count 250
viewport-pan-sweep: task duration 4447ms
viewport-pan-sweep: script duration 1405ms
viewport-pan-sweep: TBT 0ms
viewport-pan-sweep: heap used 60.8 MB
viewport-pan-sweep: DOM nodes -278
viewport-pan-sweep: event listeners -127
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 16461ms
vue-large-graph-idle: script duration 537ms
vue-large-graph-idle: TBT 0ms
vue-large-graph-idle: heap used 159.8 MB
vue-large-graph-idle: DOM nodes -8312
vue-large-graph-idle: event listeners -16387
vue-large-graph-pan: avg frame time 18ms
vue-large-graph-pan: p95 frame time 17ms
vue-large-graph-pan: layout duration 0ms
vue-large-graph-pan: style recalc duration 16ms
vue-large-graph-pan: layout count 0
vue-large-graph-pan: style recalc count 138
vue-large-graph-pan: task duration 20244ms
vue-large-graph-pan: script duration 883ms
vue-large-graph-pan: TBT 152ms
vue-large-graph-pan: heap used 168.3 MB
vue-large-graph-pan: DOM nodes -8312
vue-large-graph-pan: event listeners -16382
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 4
workflow-execution: style recalc count 14
workflow-execution: task duration 114ms
workflow-execution: script duration 11ms
workflow-execution: TBT 0ms
workflow-execution: heap used 48.6 MB
workflow-execution: DOM nodes 125
workflow-execution: event listeners 66
Raw data
{
  "timestamp": "2026-07-31T19:32:02.302Z",
  "gitSha": "d04ec25623587dc767b14ce3d8a16742c96b4cd5",
  "branch": "agent/fix-ended-team-subscription",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2064.5869999999886,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 7.715999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 489.68000000000006,
      "heapDeltaBytes": 3992212,
      "heapUsedBytes": 71965200,
      "domNodes": 20,
      "jsHeapTotalBytes": 20316160,
      "scriptDurationMs": 15.917,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-idle",
      "durationMs": 2038.3939999999825,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 7.536,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 439.69,
      "heapDeltaBytes": 4013864,
      "heapUsedBytes": 71942524,
      "domNodes": 20,
      "jsHeapTotalBytes": 20316160,
      "scriptDurationMs": 13.703,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 2117.5420000000145,
      "styleRecalcs": 79,
      "styleRecalcDurationMs": 48.64199999999999,
      "layouts": 12,
      "layoutDurationMs": 4.071,
      "taskDurationMs": 1078.738,
      "heapDeltaBytes": -14082548,
      "heapUsedBytes": 53942516,
      "domNodes": -276,
      "jsHeapTotalBytes": 20443136,
      "scriptDurationMs": 137.71800000000002,
      "eventListeners": -146,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1835.8279999999922,
      "styleRecalcs": 73,
      "styleRecalcDurationMs": 35.936,
      "layouts": 12,
      "layoutDurationMs": 3.3899999999999997,
      "taskDurationMs": 852.285,
      "heapDeltaBytes": -15557944,
      "heapUsedBytes": 52276048,
      "domNodes": -275,
      "jsHeapTotalBytes": 20967424,
      "scriptDurationMs": 117.796,
      "eventListeners": -148,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1737.101999999993,
      "styleRecalcs": 33,
      "styleRecalcDurationMs": 21.669,
      "layouts": 6,
      "layoutDurationMs": 0.7480000000000002,
      "taskDurationMs": 430.62,
      "heapDeltaBytes": 7058532,
      "heapUsedBytes": 74807808,
      "domNodes": 79,
      "jsHeapTotalBytes": 20316160,
      "scriptDurationMs": 23.581,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1741.1939999999504,
      "styleRecalcs": 31,
      "styleRecalcDurationMs": 16.682,
      "layouts": 6,
      "layoutDurationMs": 0.548,
      "taskDurationMs": 370.29499999999996,
      "heapDeltaBytes": 7261284,
      "heapUsedBytes": 75117848,
      "domNodes": 77,
      "jsHeapTotalBytes": 20316160,
      "scriptDurationMs": 16.834,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 592.2280000000342,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 8.091999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 385.469,
      "heapDeltaBytes": -12080892,
      "heapUsedBytes": 55855796,
      "domNodes": 18,
      "jsHeapTotalBytes": 21102592,
      "scriptDurationMs": 65.44,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 589.9699999999939,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 9.610000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 378.549,
      "heapDeltaBytes": -12346332,
      "heapUsedBytes": 55637920,
      "domNodes": 18,
      "jsHeapTotalBytes": 21364736,
      "scriptDurationMs": 56.481,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2043.3340000000157,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 8.705999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 722.977,
      "heapDeltaBytes": 6420984,
      "heapUsedBytes": 65041124,
      "domNodes": -276,
      "jsHeapTotalBytes": 5046272,
      "scriptDurationMs": 115.50099999999999,
      "eventListeners": -142,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2010.5479999999716,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.598000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 643.135,
      "heapDeltaBytes": 6193984,
      "heapUsedBytes": 64872764,
      "domNodes": -276,
      "jsHeapTotalBytes": 5046272,
      "scriptDurationMs": 96.87299999999999,
      "eventListeners": -144,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2163.4220000000255,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 13.841000000000003,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1293.5439999999999,
      "heapDeltaBytes": 2665840,
      "heapUsedBytes": 62508860,
      "domNodes": -275,
      "jsHeapTotalBytes": 4988928,
      "scriptDurationMs": 441.575,
      "eventListeners": -142,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2163.291999999956,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 13.531999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1241.3020000000001,
      "heapDeltaBytes": 1273908,
      "heapUsedBytes": 61079488,
      "domNodes": -276,
      "jsHeapTotalBytes": 5775360,
      "scriptDurationMs": 420.867,
      "eventListeners": -144,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3132.290000000012,
      "styleRecalcs": 64,
      "styleRecalcDurationMs": 13.640999999999996,
      "layouts": 60,
      "layoutDurationMs": 7.069000000000001,
      "taskDurationMs": 1458.421,
      "heapDeltaBytes": 22067888,
      "heapUsedBytes": 84168808,
      "domNodes": 10,
      "jsHeapTotalBytes": 8126464,
      "scriptDurationMs": 524.1370000000001,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3196.743999999967,
      "styleRecalcs": 65,
      "styleRecalcDurationMs": 13.387999999999996,
      "layouts": 60,
      "layoutDurationMs": 6.917,
      "taskDurationMs": 1475.365,
      "heapDeltaBytes": -1390976,
      "heapUsedBytes": 59938424,
      "domNodes": -280,
      "jsHeapTotalBytes": 8454144,
      "scriptDurationMs": 522.545,
      "eventListeners": -148,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "minimap-idle",
      "durationMs": 2070.458999999971,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.852999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 721.4749999999999,
      "heapDeltaBytes": 7182392,
      "heapUsedBytes": 67434232,
      "domNodes": -278,
      "jsHeapTotalBytes": 5046272,
      "scriptDurationMs": 120.95,
      "eventListeners": -146,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "minimap-idle",
      "durationMs": 2017.9140000000189,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.391000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 658.2669999999999,
      "heapDeltaBytes": 6197944,
      "heapUsedBytes": 66687780,
      "domNodes": -279,
      "jsHeapTotalBytes": 5046272,
      "scriptDurationMs": 98.22200000000001,
      "eventListeners": -142,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 601.4349999999808,
      "styleRecalcs": 48,
      "styleRecalcDurationMs": 11.139999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 401.04799999999994,
      "heapDeltaBytes": -12126952,
      "heapUsedBytes": 55806288,
      "domNodes": 22,
      "jsHeapTotalBytes": 22151168,
      "scriptDurationMs": 120.198,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 585.2629999999408,
      "styleRecalcs": 47,
      "styleRecalcDurationMs": 9.986000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 391.476,
      "heapDeltaBytes": -11967452,
      "heapUsedBytes": 55885648,
      "domNodes": 20,
      "jsHeapTotalBytes": 22413312,
      "scriptDurationMs": 119.03000000000002,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2012.4170000000277,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 8.099000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 481.52799999999996,
      "heapDeltaBytes": -21902148,
      "heapUsedBytes": 46076016,
      "domNodes": 20,
      "jsHeapTotalBytes": 19394560,
      "scriptDurationMs": 13.201999999999998,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2027.768999999921,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.260999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 470.88700000000006,
      "heapDeltaBytes": -22588748,
      "heapUsedBytes": 45586808,
      "domNodes": 18,
      "jsHeapTotalBytes": 20443136,
      "scriptDurationMs": 12.261999999999999,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1696.9379999999887,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 33.52,
      "layouts": 16,
      "layoutDurationMs": 4.121,
      "taskDurationMs": 796.816,
      "heapDeltaBytes": -20013756,
      "heapUsedBytes": 47890564,
      "domNodes": -272,
      "jsHeapTotalBytes": 20705280,
      "scriptDurationMs": 89.073,
      "eventListeners": -148,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1745.5349999999044,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 38.238,
      "layouts": 16,
      "layoutDurationMs": 3.8040000000000003,
      "taskDurationMs": 807.5490000000001,
      "heapDeltaBytes": -20565780,
      "heapUsedBytes": 47535772,
      "domNodes": -273,
      "jsHeapTotalBytes": 20705280,
      "scriptDurationMs": 89.71300000000001,
      "eventListeners": -148,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-transition-enter",
      "durationMs": 1399.9110000000314,
      "styleRecalcs": 18,
      "styleRecalcDurationMs": 29.468999999999994,
      "layouts": 14,
      "layoutDurationMs": 12.383999999999999,
      "taskDurationMs": 925.6170000000002,
      "heapDeltaBytes": 29068368,
      "heapUsedBytes": 95816196,
      "domNodes": 13673,
      "jsHeapTotalBytes": 15990784,
      "scriptDurationMs": 33.373,
      "eventListeners": 2371,
      "totalBlockingTimeMs": 131,
      "frameDurationMs": 16.666666666666696,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8341.74900000005,
      "styleRecalcs": 250,
      "styleRecalcDurationMs": 39.419,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4556.565,
      "heapDeltaBytes": 8246360,
      "heapUsedBytes": 67099776,
      "domNodes": -278,
      "jsHeapTotalBytes": 7319552,
      "scriptDurationMs": 1430.972,
      "eventListeners": -126,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8207.835000000046,
      "styleRecalcs": 249,
      "styleRecalcDurationMs": 34.132,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4337.898,
      "heapDeltaBytes": 1693628,
      "heapUsedBytes": 60481520,
      "domNodes": -277,
      "jsHeapTotalBytes": 7405568,
      "scriptDurationMs": 1378.641,
      "eventListeners": -128,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 16829.903000000002,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 16791.577,
      "heapDeltaBytes": -61292400,
      "heapUsedBytes": 168084720,
      "domNodes": -8312,
      "jsHeapTotalBytes": -11210752,
      "scriptDurationMs": 579.6110000000001,
      "eventListeners": -16387,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 16146.698000000015,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 16130.261,
      "heapDeltaBytes": -60703732,
      "heapUsedBytes": 167077088,
      "domNodes": -8312,
      "jsHeapTotalBytes": -14880768,
      "scriptDurationMs": 494.3,
      "eventListeners": -16387,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 20425.348999999984,
      "styleRecalcs": 138,
      "styleRecalcDurationMs": 15.460999999999947,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 20385.166999999998,
      "heapDeltaBytes": -55456960,
      "heapUsedBytes": 168858644,
      "domNodes": -8312,
      "jsHeapTotalBytes": -15142912,
      "scriptDurationMs": 872.5319999999999,
      "eventListeners": -16381,
      "totalBlockingTimeMs": 101,
      "frameDurationMs": 17.77333333333336,
      "p95FrameDurationMs": 16.80000000000291
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 20128.261000000064,
      "styleRecalcs": 138,
      "styleRecalcDurationMs": 15.696000000000044,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 20102.44,
      "heapDeltaBytes": -24140952,
      "heapUsedBytes": 184052024,
      "domNodes": -8312,
      "jsHeapTotalBytes": -13918208,
      "scriptDurationMs": 893.836,
      "eventListeners": -16383,
      "totalBlockingTimeMs": 203,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "workflow-execution",
      "durationMs": 456.2209999999709,
      "styleRecalcs": 13,
      "styleRecalcDurationMs": 17.698999999999998,
      "layouts": 3,
      "layoutDurationMs": 0.6429999999999999,
      "taskDurationMs": 112.74100000000001,
      "heapDeltaBytes": -15852204,
      "heapUsedBytes": 51073944,
      "domNodes": 130,
      "jsHeapTotalBytes": 7733248,
      "scriptDurationMs": 11.807,
      "eventListeners": 67,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "workflow-execution",
      "durationMs": 472.3989999999958,
      "styleRecalcs": 15,
      "styleRecalcDurationMs": 21.665000000000003,
      "layouts": 4,
      "layoutDurationMs": 1.382,
      "taskDurationMs": 116.18900000000001,
      "heapDeltaBytes": -16116996,
      "heapUsedBytes": 50903100,
      "domNodes": 119,
      "jsHeapTotalBytes": 7208960,
      "scriptDurationMs": 9.569,
      "eventListeners": 65,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    }
  ]
}

@wei-hai
wei-hai force-pushed the agent/fix-ended-team-subscription branch from 4f74471 to 6880c08 Compare July 31, 2026 19:11
@wei-hai
wei-hai force-pushed the agent/fix-ended-team-subscription branch from 6880c08 to 80b5579 Compare July 31, 2026 19:13
@codecov

codecov Bot commented Jul 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@              Coverage Diff              @@
##             cloud/1.48   #14497   +/-   ##
=============================================
  Coverage              ?   69.13%           
=============================================
  Files                 ?     1659           
  Lines                 ?    85641           
  Branches              ?    24661           
=============================================
  Hits                  ?    59205           
  Misses                ?    26326           
  Partials              ?      110           
Flag Coverage Δ
unit 69.13% <100.00%> (?)

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

Files with missing lines Coverage Δ
...e/components/SubscriptionPanelContentWorkspace.vue 96.49% <100.00%> (ø)
🚀 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.

@wei-hai
wei-hai marked this pull request as ready for review July 31, 2026 20:49
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jul 31, 2026
@dosubot

dosubot Bot commented Jul 31, 2026

Copy link
Copy Markdown

📄 Knowledge review

Dosu skipped reviewing this PR because your organization has used its 200 included credits for the month. Your usage will reset on 2026-08-01. To have Dosu review this PR before then, ask your organization admin to upgrade to a pro account.


Leave Feedback Ask Dosu about ComfyUI_frontend Add Dosu to your team

wei-hai commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #14504, rebuilt from current main. The production behavior is already present on main through #14438, so the replacement keeps the missing component and end-to-end regression coverage without carrying the cloud/1.48 branch history.

@wei-hai wei-hai closed this Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant