Skip to content

fix: promoted textarea widgets in subgraphs no longer permanently read-only#9124

Closed
christian-byrne wants to merge 1 commit intomainfrom
fix/textarea-editable
Closed

fix: promoted textarea widgets in subgraphs no longer permanently read-only#9124
christian-byrne wants to merge 1 commit intomainfrom
fix/textarea-editable

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Feb 23, 2026

Summary

Promoted textarea widgets inside subgraphs were permanently read-only because disabled: true was unconditionally injected when the widget's input slot was linked.

Changes

  • What: In NodeWidgets.vue, extract isPromotedOnOwningNode check and skip the disabled: true override for promoted widgets whose slot is internally linked to a SubgraphInput node. Reuse the same variable for the existing borderStyle condition (was duplicated). Add 4 unit tests for WidgetTextarea read-only behavior. Remove dead readonly prop parameter from test helper.

Review Focus

The isPromotedOnOwningNode guard uses a nodeId comparison (String(widgetState?.nodeId) === String(nodeId)) to distinguish promoted widgets on their owning node (should be interactive) from proxy widgets on the SubgraphNode (should remain disabled). This fix benefits all promoted widget types (combos, numbers, etc.), not just textareas.

Fixes #8818

┆Issue is synchronized with this Notion page by Unito

…d-only

Skip disabled override for promoted widgets whose internal slot is
linked to SubgraphInput. Extract isPromotedOnOwningNode variable
and reuse it for the existing borderStyle check.

Amp-Thread-ID: https://ampcode.com/threads/T-019c88b8-a377-754b-b624-db394d59f5b5
@christian-byrne christian-byrne requested a review from a team as a code owner February 23, 2026 04:22
@christian-byrne christian-byrne self-assigned this Feb 23, 2026
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Feb 23, 2026
@dosubot
Copy link

dosubot bot commented Feb 23, 2026

Related Documentation

Checked 0 published document(s) in 1 knowledge base(s). No updates required.

How did I do? Any feedback?  Join Discord

@github-actions
Copy link

github-actions bot commented Feb 23, 2026

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 02/23/2026, 04:23:37 AM UTC

Links

@github-actions
Copy link

github-actions bot commented Feb 23, 2026

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

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 23, 2026

📝 Walkthrough

Walkthrough

Fixed widget disable behavior when linked, ensuring promoted widgets within subgraphs remain interactive. Updated conditional logic in NodeWidgets.vue to skip disable overrides for promoted widgets. Refactored WidgetTextarea test suite by removing readonly parameter from helper function and added comprehensive readonly/disabled behavior verification tests.

Changes

Cohort / File(s) Summary
Widget Disable Logic
src/renderer/extensions/vueNodes/components/NodeWidgets.vue
Modified widget options computation to conditionally skip disable override when widget is promoted on owning node. Updated borderStyle determination to reuse the promotion condition, ensuring promoted widgets maintain interactive state in subgraphs.
Test Suite Refactoring
src/renderer/extensions/vueNodes/widgets/components/WidgetTextarea.test.ts
Removed readonly parameter from mountComponent test helper signature. Added new Read-Only Behavior test suite with 4 test cases verifying textarea readonly state based on options.read\_only and options.disabled flags. Updated all mountComponent calls to match new signature.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A widget once bound, now dances free,
Promoted at last, for all to see!
No longer disabled in subgraph's keep,
While tests stand guard, their promises deep.
A fix well-made, both logic and test,
For interactive widgets, simply the best! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title concisely describes the main fix: promoted textarea widgets in subgraphs are no longer permanently read-only, which directly matches the core objective addressed in the changeset.
Linked Issues check ✅ Passed The changes directly address issue #8818 by extracting the isPromotedOnOwningNode check to prevent disabled:true override for promoted widgets with linked slots, while preserving disabled behavior for proxy widgets.
Out of Scope Changes check ✅ Passed All changes are scoped to the fix: NodeWidgets.vue logic for promoted widgets, WidgetTextarea tests for read-only behavior, and removal of dead test helper parameter. No unrelated changes detected.
Description check ✅ Passed The pull request description comprehensively covers all required sections from the template with clear context about the problem, specific changes made, and important review focus details.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/textarea-editable

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

@github-actions
Copy link

📦 Bundle: 4.37 MB gzip 🔴 +125 B

Details

Summary

  • Raw size: 20.5 MB baseline 20.5 MB — 🔴 +86 B
  • Gzip: 4.37 MB baseline 4.37 MB — 🔴 +125 B
  • Brotli: 3.38 MB baseline 3.38 MB — 🔴 +211 B
  • Bundles: 224 current • 224 baseline • 105 added / 105 removed

Category Glance
Data & Services 🔴 +86 B (2.51 MB) · Vendor & Third-Party ⚪ 0 B (8.83 MB) · Other ⚪ 0 B (7.62 MB) · Graph Workspace ⚪ 0 B (916 kB) · Panels & Settings ⚪ 0 B (436 kB) · Views & Navigation ⚪ 0 B (68.8 kB) · + 5 more

App Entry Points — 17.9 kB (baseline 17.9 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-BPXxHI42.js (removed) 17.9 kB 🟢 -17.9 kB 🟢 -6.35 kB 🟢 -5.48 kB
assets/index-U4AimWGD.js (new) 17.9 kB 🔴 +17.9 kB 🔴 +6.36 kB 🔴 +5.49 kB

Status: 1 added / 1 removed

Graph Workspace — 916 kB (baseline 916 kB) • ⚪ 0 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-BLeY6lT6.js (new) 916 kB 🔴 +916 kB 🔴 +197 kB 🔴 +150 kB
assets/GraphView-dlPxGQ_n.js (removed) 916 kB 🟢 -916 kB 🟢 -197 kB 🟢 -150 kB

Status: 1 added / 1 removed

Views & Navigation — 68.8 kB (baseline 68.8 kB) • ⚪ 0 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-Bi1FysBq.js (new) 15.5 kB 🔴 +15.5 kB 🔴 +3.32 kB 🔴 +2.82 kB
assets/CloudSurveyView-zjn0Bw32.js (removed) 15.5 kB 🟢 -15.5 kB 🟢 -3.32 kB 🟢 -2.82 kB
assets/CloudLoginView-0-mq45MO.js (new) 10 kB 🔴 +10 kB 🔴 +2.93 kB 🔴 +2.58 kB
assets/CloudLoginView-DUpqlSqa.js (removed) 10 kB 🟢 -10 kB 🟢 -2.93 kB 🟢 -2.57 kB
assets/UserCheckView-b0GPLBXd.js (removed) 8.41 kB 🟢 -8.41 kB 🟢 -2.23 kB 🟢 -1.94 kB
assets/UserCheckView-B9s_Deib.js (new) 8.41 kB 🔴 +8.41 kB 🔴 +2.22 kB 🔴 +1.94 kB
assets/CloudSignupView-B-WNTdhO.js (removed) 7.41 kB 🟢 -7.41 kB 🟢 -2.32 kB 🟢 -2.03 kB
assets/CloudSignupView-Be0q0dWr.js (new) 7.41 kB 🔴 +7.41 kB 🔴 +2.32 kB 🔴 +2.03 kB
assets/CloudLayoutView-DpiDq_gD.js (removed) 6.43 kB 🟢 -6.43 kB 🟢 -2.1 kB 🟢 -1.83 kB
assets/CloudLayoutView-GwXD3X2L.js (new) 6.43 kB 🔴 +6.43 kB 🔴 +2.1 kB 🔴 +1.84 kB
assets/CloudForgotPasswordView-BryvNAaR.js (new) 5.56 kB 🔴 +5.56 kB 🔴 +1.94 kB 🔴 +1.71 kB
assets/CloudForgotPasswordView-Dv1BLgvx.js (removed) 5.56 kB 🟢 -5.56 kB 🟢 -1.94 kB 🟢 -1.71 kB
assets/CloudAuthTimeoutView-CX7ndYvV.js (new) 4.91 kB 🔴 +4.91 kB 🔴 +1.77 kB 🔴 +1.55 kB
assets/CloudAuthTimeoutView-Dn4sd4bj.js (removed) 4.91 kB 🟢 -4.91 kB 🟢 -1.77 kB 🟢 -1.56 kB
assets/CloudSubscriptionRedirectView-C1ErqRvq.js (new) 4.71 kB 🔴 +4.71 kB 🔴 +1.78 kB 🔴 +1.58 kB
assets/CloudSubscriptionRedirectView-DPkjp8WI.js (removed) 4.71 kB 🟢 -4.71 kB 🟢 -1.78 kB 🟢 -1.57 kB
assets/UserSelectView-2HFGAHj6.js (new) 4.5 kB 🔴 +4.5 kB 🔴 +1.64 kB 🔴 +1.47 kB
assets/UserSelectView-CWFhbsU-.js (removed) 4.5 kB 🟢 -4.5 kB 🟢 -1.64 kB 🟢 -1.47 kB
assets/CloudSorryContactSupportView-Bi8IsTTh.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-CmHcUwxS.js 296 B 296 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

Panels & Settings — 436 kB (baseline 436 kB) • ⚪ 0 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SecretsPanel-D_extUyY.js (removed) 21.5 kB 🟢 -21.5 kB 🟢 -5.3 kB 🟢 -4.65 kB
assets/SecretsPanel-Dc87f6h6.js (new) 21.5 kB 🔴 +21.5 kB 🔴 +5.3 kB 🔴 +4.65 kB
assets/LegacyCreditsPanel-CWEQv86j.js (removed) 20.6 kB 🟢 -20.6 kB 🟢 -5.57 kB 🟢 -4.89 kB
assets/LegacyCreditsPanel-D53I-0As.js (new) 20.6 kB 🔴 +20.6 kB 🔴 +5.57 kB 🔴 +4.9 kB
assets/SubscriptionPanel-COTbMxtS.js (new) 18.6 kB 🔴 +18.6 kB 🔴 +4.73 kB 🔴 +4.17 kB
assets/SubscriptionPanel-DFMHTrtL.js (removed) 18.6 kB 🟢 -18.6 kB 🟢 -4.73 kB 🟢 -4.17 kB
assets/KeybindingPanel-BqDT_H84.js (removed) 12.3 kB 🟢 -12.3 kB 🟢 -3.57 kB 🟢 -3.17 kB
assets/KeybindingPanel-D8-wXSJI.js (new) 12.3 kB 🔴 +12.3 kB 🔴 +3.57 kB 🔴 +3.18 kB
assets/AboutPanel-BuvoW1YV.js (removed) 9.79 kB 🟢 -9.79 kB 🟢 -2.73 kB 🟢 -2.45 kB
assets/AboutPanel-DRPtQrxR.js (new) 9.79 kB 🔴 +9.79 kB 🔴 +2.73 kB 🔴 +2.46 kB
assets/ExtensionPanel-BlRo3ojs.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.65 kB 🟢 -2.35 kB
assets/ExtensionPanel-QRXY_H43.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.65 kB 🔴 +2.36 kB
assets/ServerConfigPanel-CKvUAS7w.js (new) 6.44 kB 🔴 +6.44 kB 🔴 +2.13 kB 🔴 +1.92 kB
assets/ServerConfigPanel-CxLHbk5r.js (removed) 6.44 kB 🟢 -6.44 kB 🟢 -2.12 kB 🟢 -1.91 kB
assets/UserPanel-BTIEBA67.js (new) 6.16 kB 🔴 +6.16 kB 🔴 +2 kB 🔴 +1.75 kB
assets/UserPanel-E116CHV7.js (removed) 6.16 kB 🟢 -6.16 kB 🟢 -1.99 kB 🟢 -1.75 kB
assets/cloudRemoteConfig-FRNh3oWz.js (removed) 1.44 kB 🟢 -1.44 kB 🟢 -711 B 🟢 -613 B
assets/cloudRemoteConfig-VQBwilx8.js (new) 1.44 kB 🔴 +1.44 kB 🔴 +712 B 🔴 +614 B
assets/refreshRemoteConfig-CfNt9BQT.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +519 B 🔴 +456 B
assets/refreshRemoteConfig-upXTJN5g.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -519 B 🟢 -446 B
assets/config-QxkqTZy6.js 996 B 996 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-3cK4vYSX.js 27.9 kB 27.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-AqJa7Oe1.js 28.7 kB 28.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BOcWl0Qp.js 34.2 kB 34.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BodhSOuG.js 30.5 kB 30.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CCD8qxmc.js 27.8 kB 27.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CVDNuOXV.js 23.9 kB 23.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DLodCRRz.js 24.5 kB 24.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DLqeCT09.js 38.5 kB 38.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DP-OgTXN.js 29.9 kB 29.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DRIXyZ_Z.js 28.8 kB 28.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-IRk9rDbu.js 32.4 kB 32.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 10 added / 10 removed

User & Accounts — 16 kB (baseline 16 kB) • ⚪ 0 B

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-BWxySx4w.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.18 kB 🟢 -992 B
assets/auth-CTHE8kgu.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.18 kB 🔴 +991 B
assets/SignUpForm-C_S4mbW7.js (removed) 3.01 kB 🟢 -3.01 kB 🟢 -1.23 kB 🟢 -1.1 kB
assets/SignUpForm-CEz9y_jC.js (new) 3.01 kB 🔴 +3.01 kB 🔴 +1.23 kB 🔴 +1.11 kB
assets/UpdatePasswordContent-BmHv4Z6_.js (new) 2.37 kB 🔴 +2.37 kB 🔴 +1.07 kB 🔴 +948 B
assets/UpdatePasswordContent-Dm2yArqo.js (removed) 2.37 kB 🟢 -2.37 kB 🟢 -1.07 kB 🟢 -943 B
assets/firebaseAuthStore-3BmqiIFP.js (removed) 790 B 🟢 -790 B 🟢 -389 B 🟢 -347 B
assets/firebaseAuthStore-PwEMzyos.js (new) 790 B 🔴 +790 B 🔴 +392 B 🔴 +348 B
assets/auth-BPPnts7d.js (new) 357 B 🔴 +357 B 🔴 +225 B 🔴 +189 B
assets/auth-Cmbtw7ww.js (removed) 357 B 🟢 -357 B 🟢 -226 B 🟢 -193 B
assets/PasswordFields-koUYSkkX.js 4.51 kB 4.51 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WorkspaceProfilePic-ClXtwRB6.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Editors & Dialogs — 738 B (baseline 738 B) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-C1Abs7Fg.js (removed) 738 B 🟢 -738 B 🟢 -380 B 🟢 -331 B
assets/useSubscriptionDialog-DOLnd9Jd.js (new) 738 B 🔴 +738 B 🔴 +380 B 🔴 +330 B

Status: 1 added / 1 removed

UI Components — 47 kB (baseline 47 kB) • ⚪ 0 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useTerminalTabs-AlwkM9Yi.js (removed) 9.85 kB 🟢 -9.85 kB 🟢 -3.4 kB 🟢 -2.99 kB
assets/useTerminalTabs-rsxR3QFG.js (new) 9.85 kB 🔴 +9.85 kB 🔴 +3.4 kB 🔴 +2.99 kB
assets/ComfyQueueButton-CehDkj1Q.js (removed) 8.02 kB 🟢 -8.02 kB 🟢 -2.49 kB 🟢 -2.22 kB
assets/ComfyQueueButton-p1jg7N-j.js (new) 8.02 kB 🔴 +8.02 kB 🔴 +2.49 kB 🔴 +2.22 kB
assets/SubscribeButton-C19Uj9vs.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +1.02 kB 🔴 +891 B
assets/SubscribeButton-D3FP-6ES.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -1.02 kB 🟢 -888 B
assets/cloudFeedbackTopbarButton-Bfsi50hk.js (removed) 1.6 kB 🟢 -1.6 kB 🟢 -856 B 🟢 -764 B
assets/cloudFeedbackTopbarButton-DwA2y3SJ.js (new) 1.6 kB 🔴 +1.6 kB 🔴 +861 B 🔴 +768 B
assets/ComfyQueueButton-eGKF1FXm.js (removed) 795 B 🟢 -795 B 🟢 -394 B 🟢 -353 B
assets/ComfyQueueButton-jY9Sil4E.js (new) 795 B 🔴 +795 B 🔴 +397 B 🔴 +357 B
assets/Button-DcjgQBBu.js 2.98 kB 2.98 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/CloudBadge-CKN9xgaL.js 1.24 kB 1.24 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/FormSearchInput-D31qG9G5.js 3.73 kB 3.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ScrubableNumberInput-D7H0v_Kw.js 5.94 kB 5.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-YGzOQBJD.js 7.45 kB 7.45 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-DkTACzmk.js 1.17 kB 1.17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-Db8QZdD0.js 1.84 kB 1.84 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Data & Services — 2.51 MB (baseline 2.51 MB) • 🔴 +86 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-BdrZV7gh.js (new) 1.73 MB 🔴 +1.73 MB 🔴 +387 kB 🔴 +293 kB
assets/dialogService-BYNMsSqY.js (removed) 1.73 MB 🟢 -1.73 MB 🟢 -387 kB 🟢 -293 kB
assets/api-CO5pjzSl.js (new) 653 kB 🔴 +653 kB 🔴 +147 kB 🔴 +118 kB
assets/api-Dp8xChTR.js (removed) 653 kB 🟢 -653 kB 🟢 -147 kB 🟢 -118 kB
assets/load3dService-ClLewHb3.js (removed) 91 kB 🟢 -91 kB 🟢 -19.1 kB 🟢 -16.4 kB
assets/load3dService-E2O-pLJc.js (new) 91 kB 🔴 +91 kB 🔴 +19.1 kB 🔴 +16.4 kB
assets/systemStatsStore-BeTxyyZG.js (new) 12.7 kB 🔴 +12.7 kB 🔴 +4.42 kB 🔴 +3.89 kB
assets/systemStatsStore-ComICInw.js (removed) 12.7 kB 🟢 -12.7 kB 🟢 -4.42 kB 🟢 -3.88 kB
assets/releaseStore-0BkARNxn.js (removed) 7.96 kB 🟢 -7.96 kB 🟢 -2.22 kB 🟢 -1.96 kB
assets/releaseStore-CRg3MEYg.js (new) 7.96 kB 🔴 +7.96 kB 🔴 +2.22 kB 🔴 +1.95 kB
assets/keybindingService-DYdYWIst.js (new) 6.52 kB 🔴 +6.52 kB 🔴 +1.71 kB 🔴 +1.47 kB
assets/keybindingService-kHWtC5rr.js (removed) 6.52 kB 🟢 -6.52 kB 🟢 -1.71 kB 🟢 -1.47 kB
assets/bootstrapStore-BjGIFyTK.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -872 B 🟢 -790 B
assets/bootstrapStore-CyoTKECI.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +872 B 🔴 +789 B
assets/userStore-B5MkRdzp.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -719 B 🟢 -669 B
assets/userStore-CZGBwsVW.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +721 B 🔴 +672 B
assets/audioService-KRCsje8Q.js (removed) 1.73 kB 🟢 -1.73 kB 🟢 -849 B 🟢 -728 B
assets/audioService-wzrHh0cW.js (new) 1.73 kB 🔴 +1.73 kB 🔴 +849 B 🔴 +727 B
assets/releaseStore-BP2Sa1SC.js (removed) 762 B 🟢 -762 B 🟢 -387 B 🟢 -342 B
assets/releaseStore-D0Ba4u48.js (new) 762 B 🔴 +762 B 🔴 +388 B 🔴 +340 B
assets/settingStore-BHOmdWMs.js (new) 746 B 🔴 +746 B 🔴 +391 B 🔴 +345 B
assets/settingStore-dtrnJGZd.js (removed) 746 B 🟢 -746 B 🟢 -389 B 🟢 -342 B
assets/workflowDraftStore-B2WmQK3e.js (removed) 738 B 🟢 -738 B 🟢 -380 B 🟢 -336 B
assets/workflowDraftStore-BxhLuWok.js (new) 738 B 🔴 +738 B 🔴 +383 B 🔴 +335 B
assets/dialogService-BHHAcg_X.js (removed) 727 B 🟢 -727 B 🟢 -371 B 🟢 -331 B
assets/dialogService-C24MyluI.js (new) 727 B 🔴 +727 B 🔴 +371 B 🔴 +330 B
assets/serverConfigStore-Bv99woE0.js 2.32 kB 2.32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 13 added / 13 removed

Utilities & Hooks — 58.3 kB (baseline 58.3 kB) • ⚪ 0 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useLoad3d-Coc6_b6i.js (new) 14.6 kB 🔴 +14.6 kB 🔴 +3.63 kB 🔴 +3.22 kB
assets/useLoad3d-D9Aql1q6.js (removed) 14.6 kB 🟢 -14.6 kB 🟢 -3.63 kB 🟢 -3.23 kB
assets/useLoad3dViewer-B5Ei2koc.js (removed) 14.1 kB 🟢 -14.1 kB 🟢 -3.15 kB 🟢 -2.8 kB
assets/useLoad3dViewer-B9-FVMsJ.js (new) 14.1 kB 🔴 +14.1 kB 🔴 +3.15 kB 🔴 +2.8 kB
assets/useFeatureFlags-9a-W4ggl.js (new) 4.14 kB 🔴 +4.14 kB 🔴 +1.23 kB 🔴 +1.06 kB
assets/useFeatureFlags-T84yi1_L.js (removed) 4.14 kB 🟢 -4.14 kB 🟢 -1.24 kB 🟢 -1.05 kB
assets/useWorkspaceUI-8Xelr99I.js (new) 3 kB 🔴 +3 kB 🔴 +823 B 🔴 +704 B
assets/useWorkspaceUI-DIxHnhs1.js (removed) 3 kB 🟢 -3 kB 🟢 -823 B 🟢 -705 B
assets/useSubscriptionCredits-BjXhW1vH.js (removed) 2.75 kB 🟢 -2.75 kB 🟢 -1.04 kB 🟢 -905 B
assets/useSubscriptionCredits-BqBxBK6m.js (new) 2.75 kB 🔴 +2.75 kB 🔴 +1.04 kB 🔴 +904 B
assets/subscriptionCheckoutUtil-D0Lb9j1O.js (new) 2.53 kB 🔴 +2.53 kB 🔴 +1.06 kB 🔴 +958 B
assets/subscriptionCheckoutUtil-oSvLH_U-.js (removed) 2.53 kB 🟢 -2.53 kB 🟢 -1.06 kB 🟢 -964 B
assets/useErrorHandling-C5oPjCm5.js (new) 1.5 kB 🔴 +1.5 kB 🔴 +630 B 🔴 +535 B
assets/useErrorHandling-CkJ5_t13.js (removed) 1.5 kB 🟢 -1.5 kB 🟢 -630 B 🟢 -533 B
assets/useWorkspaceSwitch-B4Al2ngR.js (new) 1.25 kB 🔴 +1.25 kB 🔴 +544 B 🔴 +483 B
assets/useWorkspaceSwitch-DgcjdT22.js (removed) 1.25 kB 🟢 -1.25 kB 🟢 -544 B 🟢 -480 B
assets/useLoad3d-BIKMeMFz.js (new) 861 B 🔴 +861 B 🔴 +428 B 🔴 +385 B
assets/useLoad3d-DZP6PUb1.js (removed) 861 B 🟢 -861 B 🟢 -425 B 🟢 -385 B
assets/audioUtils-4GqFPJ4x.js (new) 858 B 🔴 +858 B 🔴 +503 B 🔴 +405 B
assets/audioUtils-DVNppm0h.js (removed) 858 B 🟢 -858 B 🟢 -500 B 🟢 -427 B
assets/useLoad3dViewer-BCFF3sSv.js (new) 840 B 🔴 +840 B 🔴 +412 B 🔴 +376 B
assets/useLoad3dViewer-CfkeZrno.js (removed) 840 B 🟢 -840 B 🟢 -410 B 🟢 -374 B
assets/useCurrentUser-Ba7E4oOR.js (new) 724 B 🔴 +724 B 🔴 +375 B 🔴 +331 B
assets/useCurrentUser-DD3TqMR6.js (removed) 724 B 🟢 -724 B 🟢 -371 B 🟢 -331 B
assets/_plugin-vue_export-helper-CY4XIWDa.js 315 B 315 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-m-0Os8lq.js 7 kB 7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/envUtil-BQSmRN2Q.js 466 B 466 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-DOdPeMQc.js 1.56 kB 1.56 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SkeletonUtils-BputJAFn.js 133 B 133 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/useExternalLink-HtIMq0zk.js 1.66 kB 1.66 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 12 added / 12 removed

Vendor & Third-Party — 8.83 MB (baseline 8.83 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-axios-Cp6hch1I.js 70.7 kB 70.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-chart-BxkFiWzp.js 399 kB 399 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-firebase-BvMr43CG.js 836 kB 836 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-i18n-DccD0mxo.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-markdown-D5S6AC80.js 103 kB 103 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-BzNZEmD_.js 1.52 MB 1.52 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-Ca9moc73.js 1.73 MB 1.73 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-CWMIYdD2.js 379 kB 379 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-sentry-SQwstEKc.js 182 kB 182 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-LBLOE6BD.js 1.8 MB 1.8 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-CHaNo_rA.js 634 kB 634 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-core-CmHHRvL9.js 311 kB 311 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vueuse-B4hGe0IQ.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-vkxZGffR.js 374 kB 374 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-yjs-CP_4YO8u.js 143 kB 143 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-zod-DcCUUPIi.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 7.62 MB (baseline 7.62 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-B7PoVklO.js (new) 72.8 kB 🔴 +72.8 kB 🔴 +18.8 kB 🔴 +16.1 kB
assets/core-CP0Mv8ue.js (removed) 72.8 kB 🟢 -72.8 kB 🟢 -18.8 kB 🟢 -16.1 kB
assets/groupNode-BG4o0dre.js (removed) 71.8 kB 🟢 -71.8 kB 🟢 -17.7 kB 🟢 -15.5 kB
assets/groupNode-OH7bopJ8.js (new) 71.8 kB 🔴 +71.8 kB 🔴 +17.7 kB 🔴 +15.5 kB
assets/WidgetSelect-BRKBvLFD.js (new) 58.1 kB 🔴 +58.1 kB 🔴 +12.4 kB 🔴 +10.7 kB
assets/WidgetSelect-CVFNsDuW.js (removed) 58.1 kB 🟢 -58.1 kB 🟢 -12.4 kB 🟢 -10.7 kB
assets/SubscriptionRequiredDialogContentWorkspace-BdXmxPlT.js (new) 45.8 kB 🔴 +45.8 kB 🔴 +8.56 kB 🔴 +7.39 kB
assets/SubscriptionRequiredDialogContentWorkspace-CMscGerM.js (removed) 45.8 kB 🟢 -45.8 kB 🟢 -8.56 kB 🟢 -7.41 kB
assets/Load3DControls-CHw2WwIQ.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +5.34 kB 🔴 +4.64 kB
assets/Load3DControls-CvZBKduM.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -5.34 kB 🟢 -4.64 kB
assets/WorkspacePanelContent-BZQ3ia6W.js (new) 29.3 kB 🔴 +29.3 kB 🔴 +6.14 kB 🔴 +5.4 kB
assets/WorkspacePanelContent-wnWsjObX.js (removed) 29.3 kB 🟢 -29.3 kB 🟢 -6.14 kB 🟢 -5.39 kB
assets/SubscriptionRequiredDialogContent-CrxI2P6a.js (new) 26.2 kB 🔴 +26.2 kB 🔴 +6.57 kB 🔴 +5.79 kB
assets/SubscriptionRequiredDialogContent-D2iHYJP_.js (removed) 26.2 kB 🟢 -26.2 kB 🟢 -6.57 kB 🟢 -5.78 kB
assets/Load3dViewerContent-BPtCFpmG.js (new) 23 kB 🔴 +23 kB 🔴 +5.18 kB 🔴 +4.5 kB
assets/Load3dViewerContent-Dc2-h8VG.js (removed) 23 kB 🟢 -23 kB 🟢 -5.18 kB 🟢 -4.49 kB
assets/WidgetImageCrop-Cc_lghtK.js (removed) 22.1 kB 🟢 -22.1 kB 🟢 -5.5 kB 🟢 -4.84 kB
assets/WidgetImageCrop-K3zIUBOx.js (new) 22.1 kB 🔴 +22.1 kB 🔴 +5.51 kB 🔴 +4.85 kB
assets/SubscriptionPanelContentWorkspace-CMeTPUtr.js (removed) 21.6 kB 🟢 -21.6 kB 🟢 -5.02 kB 🟢 -4.43 kB
assets/SubscriptionPanelContentWorkspace-ElL7wR-T.js (new) 21.6 kB 🔴 +21.6 kB 🔴 +5.02 kB 🔴 +4.43 kB
assets/CurrentUserPopoverWorkspace-BBEKPbEG.js (new) 19.8 kB 🔴 +19.8 kB 🔴 +4.86 kB 🔴 +4.35 kB
assets/CurrentUserPopoverWorkspace-C2KehJix.js (removed) 19.8 kB 🟢 -19.8 kB 🟢 -4.86 kB 🟢 -4.33 kB
assets/SignInContent-DLwHLll0.js (new) 18.9 kB 🔴 +18.9 kB 🔴 +4.79 kB 🔴 +4.2 kB
assets/SignInContent-DYY8QCb9.js (removed) 18.9 kB 🟢 -18.9 kB 🟢 -4.79 kB 🟢 -4.19 kB
assets/WidgetInputNumber-BwPgSg4N.js (new) 18.6 kB 🔴 +18.6 kB 🔴 +4.71 kB 🔴 +4.18 kB
assets/WidgetInputNumber-DZJqx48x.js (removed) 18.6 kB 🟢 -18.6 kB 🟢 -4.71 kB 🟢 -4.19 kB
assets/WidgetRecordAudio-BWquxsIz.js (new) 17.3 kB 🔴 +17.3 kB 🔴 +4.94 kB 🔴 +4.43 kB
assets/WidgetRecordAudio-Db03ZyFi.js (removed) 17.3 kB 🟢 -17.3 kB 🟢 -4.94 kB 🟢 -4.43 kB
assets/Load3D-DctxymrT.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -4.03 kB 🟢 -3.52 kB
assets/Load3D-Dd_Djo0E.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +4.03 kB 🔴 +3.5 kB
assets/load3d-CegohD0D.js (new) 14.7 kB 🔴 +14.7 kB 🔴 +4.2 kB 🔴 +3.63 kB
assets/load3d-DOhfg7JS.js (removed) 14.7 kB 🟢 -14.7 kB 🟢 -4.2 kB 🟢 -3.64 kB
assets/AudioPreviewPlayer-Cubt8fVU.js (removed) 10.9 kB 🟢 -10.9 kB 🟢 -3.19 kB 🟢 -2.87 kB
assets/AudioPreviewPlayer-jBWS03d9.js (new) 10.9 kB 🔴 +10.9 kB 🔴 +3.2 kB 🔴 +2.87 kB
assets/changeTracker-B25EpQz7.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.9 kB 🟢 -2.55 kB
assets/changeTracker-DilgyIZV.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.89 kB 🔴 +2.54 kB
assets/nodeTemplates-B0Tjm0hB.js (new) 9.3 kB 🔴 +9.3 kB 🔴 +3.26 kB 🔴 +2.86 kB
assets/nodeTemplates-DAaeIaHw.js (removed) 9.3 kB 🟢 -9.3 kB 🟢 -3.26 kB 🟢 -2.86 kB
assets/InviteMemberDialogContent-B1VWmClG.js (new) 7.38 kB 🔴 +7.38 kB 🔴 +2.3 kB 🔴 +2 kB
assets/InviteMemberDialogContent-T0HkKVYN.js (removed) 7.38 kB 🟢 -7.38 kB 🟢 -2.29 kB 🟢 -2 kB
assets/Load3DConfiguration-CR_VMjeE.js (removed) 6.27 kB 🟢 -6.27 kB 🟢 -1.91 kB 🟢 -1.68 kB
assets/Load3DConfiguration-DK_io9O7.js (new) 6.27 kB 🔴 +6.27 kB 🔴 +1.92 kB 🔴 +1.68 kB
assets/CreateWorkspaceDialogContent-8BBdrtkR.js (removed) 5.53 kB 🟢 -5.53 kB 🟢 -1.99 kB 🟢 -1.73 kB
assets/CreateWorkspaceDialogContent-BozBV0Tn.js (new) 5.53 kB 🔴 +5.53 kB 🔴 +1.99 kB 🔴 +1.75 kB
assets/onboardingCloudRoutes-BBtQYW4C.js (new) 5.41 kB 🔴 +5.41 kB 🔴 +1.84 kB 🔴 +1.62 kB
assets/onboardingCloudRoutes-BF_FgmDk.js (removed) 5.41 kB 🟢 -5.41 kB 🟢 -1.84 kB 🟢 -1.62 kB
assets/EditWorkspaceDialogContent-BunbYybU.js (new) 5.33 kB 🔴 +5.33 kB 🔴 +1.95 kB 🔴 +1.7 kB
assets/EditWorkspaceDialogContent-CaybNTaV.js (removed) 5.33 kB 🟢 -5.33 kB 🟢 -1.95 kB 🟢 -1.7 kB
assets/ValueControlPopover-nl4dszfy.js (new) 4.92 kB 🔴 +4.92 kB 🔴 +1.77 kB 🔴 +1.58 kB
assets/ValueControlPopover-p3psJw6O.js (removed) 4.92 kB 🟢 -4.92 kB 🟢 -1.77 kB 🟢 -1.58 kB
assets/Preview3d-3qlFLifd.js (removed) 4.82 kB 🟢 -4.82 kB 🟢 -1.56 kB 🟢 -1.37 kB
assets/Preview3d-DiPE5Ev8.js (new) 4.82 kB 🔴 +4.82 kB 🔴 +1.57 kB 🔴 +1.37 kB
assets/CancelSubscriptionDialogContent-CAU1Y7xU.js (new) 4.79 kB 🔴 +4.79 kB 🔴 +1.78 kB 🔴 +1.57 kB
assets/CancelSubscriptionDialogContent-DjVFjjo_.js (removed) 4.79 kB 🟢 -4.79 kB 🟢 -1.78 kB 🟢 -1.56 kB
assets/DeleteWorkspaceDialogContent-Cl34EEpm.js (removed) 4.23 kB 🟢 -4.23 kB 🟢 -1.63 kB 🟢 -1.42 kB
assets/DeleteWorkspaceDialogContent-DE_xQpML.js (new) 4.23 kB 🔴 +4.23 kB 🔴 +1.64 kB 🔴 +1.43 kB
assets/WidgetWithControl-B5vpF9Wn.js (new) 4.11 kB 🔴 +4.11 kB 🔴 +1.78 kB 🔴 +1.6 kB
assets/WidgetWithControl-Ccz7P7XX.js (removed) 4.11 kB 🟢 -4.11 kB 🟢 -1.78 kB 🟢 -1.61 kB
assets/LeaveWorkspaceDialogContent-B1yR3xWM.js (new) 4.06 kB 🔴 +4.06 kB 🔴 +1.58 kB 🔴 +1.38 kB
assets/LeaveWorkspaceDialogContent-elSM3vwH.js (removed) 4.06 kB 🟢 -4.06 kB 🟢 -1.58 kB 🟢 -1.38 kB
assets/RemoveMemberDialogContent-7R5qzvSV.js (new) 4.04 kB 🔴 +4.04 kB 🔴 +1.53 kB 🔴 +1.33 kB
assets/RemoveMemberDialogContent-Bbi4UhZg.js (removed) 4.04 kB 🟢 -4.04 kB 🟢 -1.53 kB 🟢 -1.34 kB
assets/RevokeInviteDialogContent-BPH82O9s.js (new) 3.96 kB 🔴 +3.96 kB 🔴 +1.54 kB 🔴 +1.36 kB
assets/RevokeInviteDialogContent-pGmo9nHV.js (removed) 3.96 kB 🟢 -3.96 kB 🟢 -1.54 kB 🟢 -1.36 kB
assets/InviteMemberUpsellDialogContent-DRAB1gwT.js (new) 3.83 kB 🔴 +3.83 kB 🔴 +1.41 kB 🔴 +1.24 kB
assets/InviteMemberUpsellDialogContent-DXkx2Oba.js (removed) 3.83 kB 🟢 -3.83 kB 🟢 -1.4 kB 🟢 -1.24 kB
assets/saveMesh-BAHJ0W0S.js (new) 3.38 kB 🔴 +3.38 kB 🔴 +1.46 kB 🔴 +1.3 kB
assets/saveMesh-BZXSjaII.js (removed) 3.38 kB 🟢 -3.38 kB 🟢 -1.46 kB 🟢 -1.29 kB
assets/cloudSessionCookie-B_Vy6kFI.js (removed) 3.1 kB 🟢 -3.1 kB 🟢 -1.09 kB 🟢 -969 B
assets/cloudSessionCookie-DGBeHHMX.js (new) 3.1 kB 🔴 +3.1 kB 🔴 +1.09 kB 🔴 +972 B
assets/GlobalToast-BzwKIXgy.js (new) 2.91 kB 🔴 +2.91 kB 🔴 +1.21 kB 🔴 +1.06 kB
assets/GlobalToast-GqL8X8ML.js (removed) 2.91 kB 🟢 -2.91 kB 🟢 -1.21 kB 🟢 -1.06 kB
assets/SubscribeToRun-5FOMltGt.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -1.01 kB 🟢 -893 B
assets/SubscribeToRun-C36IeC9n.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +1.01 kB 🔴 +889 B
assets/CloudRunButtonWrapper-Cq3KykPQ.js (new) 1.68 kB 🔴 +1.68 kB 🔴 +789 B 🔴 +724 B
assets/CloudRunButtonWrapper-DlrNlLyF.js (removed) 1.68 kB 🟢 -1.68 kB 🟢 -784 B 🟢 -720 B
assets/cloudBadges-BLnsSE9F.js (new) 1.37 kB 🔴 +1.37 kB 🔴 +708 B 🔴 +615 B
assets/cloudBadges-DRJQODRv.js (removed) 1.37 kB 🟢 -1.37 kB 🟢 -707 B 🟢 -612 B
assets/cloudSubscription-eXtGvH9P.js (new) 1.33 kB 🔴 +1.33 kB 🔴 +661 B 🔴 +571 B
assets/cloudSubscription-ugIqONw9.js (removed) 1.33 kB 🟢 -1.33 kB 🟢 -658 B 🟢 -570 B
assets/Load3D-Bbcn_R1B.js (removed) 1.07 kB 🟢 -1.07 kB 🟢 -501 B 🟢 -445 B
assets/Load3D-CoASX__t.js (new) 1.07 kB 🔴 +1.07 kB 🔴 +497 B 🔴 +448 B
assets/nightlyBadges-BZkQkZ-N.js (removed) 1 kB 🟢 -1 kB 🟢 -536 B 🟢 -470 B
assets/nightlyBadges-CxYn5Qov.js (new) 1 kB 🔴 +1 kB 🔴 +538 B 🔴 +474 B
assets/Load3dViewerContent-BYzC5_5y.js (new) 995 B 🔴 +995 B 🔴 +468 B 🔴 +416 B
assets/Load3dViewerContent-DsZl3X97.js (removed) 995 B 🟢 -995 B 🟢 -469 B 🟢 -416 B
assets/SubscriptionPanelContentWorkspace-DeNXQrH_.js (removed) 932 B 🟢 -932 B 🟢 -437 B 🟢 -384 B
assets/SubscriptionPanelContentWorkspace-DtAW5pd3.js (new) 932 B 🔴 +932 B 🔴 +442 B 🔴 +388 B
assets/graphHasMissingNodes-E3ffTjHU.js (new) 761 B 🔴 +761 B 🔴 +373 B 🔴 +318 B
assets/graphHasMissingNodes-ld_0WQOY.js (removed) 761 B 🟢 -761 B 🟢 -374 B 🟢 -325 B
assets/changeTracker-By3edKJ1.js (removed) 759 B 🟢 -759 B 🟢 -385 B 🟢 -341 B
assets/changeTracker-D4EZ0KVZ.js (new) 759 B 🔴 +759 B 🔴 +388 B 🔴 +339 B
assets/WidgetLegacy-BMxFZ_oE.js (new) 747 B 🔴 +747 B 🔴 +387 B 🔴 +338 B
assets/WidgetLegacy-D6SZXyI4.js (removed) 747 B 🟢 -747 B 🟢 -386 B 🟢 -338 B
assets/WidgetInputNumber-B9-M24Ii.js (removed) 469 B 🟢 -469 B 🟢 -266 B 🟢 -229 B
assets/WidgetInputNumber-Cq6DGgVK.js (new) 469 B 🔴 +469 B 🔴 +264 B 🔴 +229 B
assets/AnimationControls-BuN89WBW.js 4.61 kB 4.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ApiNodesSignInContent-dDy93gGQ.js 2.69 kB 2.69 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/auto-BTnZwrs2.js 1.7 kB 1.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/BaseViewTemplate-sbUO3_hD.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/comfy-logo-single-DhnNuB-i.js 198 B 198 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ComfyOrgHeader-CKD9vwNi.js 910 B 910 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BIWmUVEc.js 16.9 kB 16.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BOt38VCw.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C0NcxRH3.js 18.8 kB 18.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C2xuXGb5.js 17.5 kB 17.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CmiKIQwc.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DMwP8S5e.js 16.7 kB 16.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DwBt3HhT.js 15.9 kB 15.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-JX559A2n.js 15.1 kB 15.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-n_2KJWcD.js 15.2 kB 15.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-OO-8nFm9.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-wq2Y-YKn.js 17.5 kB 17.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/constants-BIWjk1ar.js 579 B 579 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-D7LhNF7N.js 519 kB 519 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-DeRrz3-g.js 199 B 199 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BgWDQhKn.js 145 kB 145 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BH99zfen.js 148 kB 148 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Cl0TDHs-.js 143 kB 143 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CTgQOf6T.js 196 kB 196 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CTIe-PdP.js 140 kB 140 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CxmFjxCA.js 176 kB 176 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D_siPGTl.js 162 kB 162 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D-U7Lzb5.js 170 kB 170 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-d6c2x81N.js 123 kB 123 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DN0hguJt.js 141 kB 141 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DzJxAN6l.js 124 kB 124 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-D3QRJ6eZ.js 1.82 kB 1.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-vXuump5i.js 1.43 kB 1.43 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-XsW6Reb5.js 1.75 kB 1.75 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaOtherTop-Crhpst_D.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaTextTop-DLkC3BlW.js 1.01 kB 1.01 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-Dxvkupp8.js 2.77 kB 2.77 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-2U4KtUml.js 360 kB 360 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-5rcOJVex.js 391 kB 391 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BTBSP0IQ.js 480 kB 480 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BZEpP7w6.js 383 kB 383 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-C-Tw-7I_.js 407 kB 407 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-C76rbmLh.js 441 kB 441 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CxxD1ymF.js 395 kB 395 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DciNsuYe.js 392 kB 392 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-G7wcMpUD.js 356 kB 356 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-nGdg-hIO.js 388 kB 388 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-xiPSrG6S.js 440 kB 440 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Popover-BFioAN8e.js 3.65 kB 3.65 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-DeIFnh1k.js 665 B 665 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/rolldown-runtime-DLICfi3-.js 1.97 kB 1.97 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SelectValue-bibvA8E3.js 8.94 kB 8.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/signInSchema-DTgoM4OT.js 1.53 kB 1.53 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-DdhXSGsd.js 3.52 kB 3.52 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/src-1EXhnvTZ.js 251 B 251 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/telemetry-zZf2dHJ2.js 226 B 226 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/types-DT3N7am7.js 204 B 204 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/VideoPlayOverlay-vVfixIxQ.js 1.35 kB 1.35 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-DTUjK0ZE.js 445 B 445 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-BPh1lTyF.js 283 B 283 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-xcXafMSV.js 3.19 kB 3.19 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-BPLD0Sx8.js 2.21 kB 2.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-B4mml5Z1.js 2.9 kB 2.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-Bb1DZ9I_.js 3.61 kB 3.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-DpWt7SLo.js 3.1 kB 3.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-Bkj-AL52.js 1.86 kB 1.86 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-hmcBQt7E.js 1.95 kB 1.95 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-Vq4skE3X.js 2.93 kB 2.93 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-Cd0O5LPR.js 1.1 kB 1.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-BF39Y5Iz.js 3.96 kB 3.96 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-DC0xon5p.js 6.8 kB 6.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetTypes-BtuQMzwn.js 393 B 393 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 48 added / 48 removed

@christian-byrne christian-byrne added the preview-cpu Creates a preview ephemeral environment for this PR (CPU only) label Feb 23, 2026
Copy link
Contributor Author

@christian-byrne christian-byrne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is a fundamental misunderstanding of the bug and the desired UX

? { ...storeOptions, disabled: true }
: storeOptions
const isPromotedOnOwningNode =
widgetState?.promoted && String(widgetState?.nodeId) === String(nodeId)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might be wrong, but IMHO,

nodeId (from nodeData.id) includes the graph prefix in subgraphs (e.g. "3:5"), while widgetState?.nodeId from the store is typically the bare ID (e.g. "5"). This means the check would always be false inside subgraphs, so promoted widgets could still end up disabled.

Since bareWidgetId on line 189 already strips the prefix, would something like this work?

const isPromotedOnOwningNode =
  widgetState?.promoted && String(widgetState?.nodeId) === bareWidgetId

That way both sides are compared as bare IDs regardless of graph depth.

@christian-byrne
Copy link
Contributor Author

Closing — need to re-evaluate against the proxy-widget-v2 refactor (#8856) that just landed, and re-examine the actual bug (reactivity on disconnect, not permanent read-only).

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

Labels

preview-cpu Creates a preview ephemeral environment for this PR (CPU only) size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants