Skip to content

Conversation

@AustinMroz
Copy link
Collaborator

@AustinMroz AustinMroz commented Jan 19, 2026

#8112 updated control widgets to be disabled when the controlled widget is disabled. However, some workflows already exist that contain a promoted control widget which does not function. This widget wouldn't be marked as disabled (and thus, demoted) until the interior subgraph was entered as updating computedDisabled is tacked to node draw. This is fixed by having subgraphs eagerly update the computedDisabled state on each node when configured.

Additionally, when createCopyForNode was used, linkedWidget retained pointers to widgets which no longer have relation to the newly cloned widget. This is resolved by instead not copying linkedWidgets. Functionally, linkedWidgets is only used for control widgets and not copying has the effect of ensuring that seed widgets linked to a subgraph input will not display a control popover button in vue mode which does nothing.

┆Issue is synchronized with this Notion page by Unito

@AustinMroz AustinMroz requested a review from a team as a code owner January 19, 2026 19:20
@dosubot dosubot bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jan 19, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 19, 2026

📝 Walkthrough

Walkthrough

After subgraph configuration, the code now recomputes disabled state for all contained nodes. Additionally, the BaseWidget constructor now extracts and assigns the linkedWidgets property from incoming widget objects during initialization.

Changes

Cohort / File(s) Summary
Subgraph Node State Management
src/lib/litegraph/src/LGraph.ts
Iterates over all nodes in a subgraph after _configureSubgraph() execution and calls updateComputedDisabled() on each node to recompute disabled state.
Widget Initialization
src/lib/litegraph/src/widgets/BaseWidget.ts
Constructor object destructuring extended to include linkedWidgets property from the input widget parameter, enabling the property to be assigned to the BaseWidget instance.

Possibly related PRs

Suggested reviewers

  • DrJKL
  • christian-byrne
✨ Finishing touches
  • 📝 Generate docstrings

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 and usage tips.

@github-actions
Copy link

github-actions bot commented Jan 19, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 01/19/2026, 07:22:16 PM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@github-actions
Copy link

github-actions bot commented Jan 19, 2026

🎭 Playwright Tests: ⚠️ Passed with flaky tests

Results: 501 passed, 0 failed, 3 flaky, 8 skipped (Total: 512)

❌ Failed Tests

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

@github-actions
Copy link

Bundle Size Report

Summary

  • Raw size: 19.2 MB baseline 19.2 MB — 🔴 +79 B
  • Gzip: 4.05 MB baseline 4.05 MB — 🟢 -21 B
  • Brotli: 3.09 MB baseline 3.09 MB — 🔴 +131 B
  • Bundles: 155 current • 155 baseline • 65 added / 65 removed

Category Glance
Data & Services 🔴 +79 B (2.75 MB) · Vendor & Third-Party ⚪ 0 B (9.09 MB) · Other ⚪ 0 B (5.91 MB) · Graph Workspace ⚪ 0 B (878 kB) · Panels & Settings ⚪ 0 B (385 kB) · Views & Navigation ⚪ 0 B (66.6 kB) · + 5 more

Per-category breakdown
App Entry Points — 18.1 kB (baseline 18.1 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-Brk1Hrw1.js (new) 18.1 kB 🔴 +18.1 kB 🔴 +6.01 kB 🔴 +5.25 kB
assets/index-C29yioYv.js (removed) 18.1 kB 🟢 -18.1 kB 🟢 -6.01 kB 🟢 -5.26 kB

Status: 1 added / 1 removed

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

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-D5Hzkw3U.js (new) 878 kB 🔴 +878 kB 🔴 +183 kB 🔴 +141 kB
assets/GraphView-Drhf9OmX.js (removed) 878 kB 🟢 -878 kB 🟢 -183 kB 🟢 -141 kB

Status: 1 added / 1 removed

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-BCXP9XYm.js (new) 15.5 kB 🔴 +15.5 kB 🔴 +3.37 kB 🔴 +2.87 kB
assets/CloudSurveyView-C1ieoJuE.js (removed) 15.5 kB 🟢 -15.5 kB 🟢 -3.37 kB 🟢 -2.86 kB
assets/CloudLoginView-BijDZ15D.js (removed) 9.75 kB 🟢 -9.75 kB 🟢 -2.83 kB 🟢 -2.47 kB
assets/CloudLoginView-Blu0EJkB.js (new) 9.75 kB 🔴 +9.75 kB 🔴 +2.83 kB 🔴 +2.48 kB
assets/UserCheckView-Chwl3jZI.js (new) 8.2 kB 🔴 +8.2 kB 🔴 +2.15 kB 🔴 +1.86 kB
assets/UserCheckView-Dbr2gGft.js (removed) 8.2 kB 🟢 -8.2 kB 🟢 -2.14 kB 🟢 -1.86 kB
assets/CloudSignupView-avFL9gMo.js (removed) 6.96 kB 🟢 -6.96 kB 🟢 -2.16 kB 🟢 -1.89 kB
assets/CloudSignupView-DLIqh-Wm.js (new) 6.96 kB 🔴 +6.96 kB 🔴 +2.16 kB 🔴 +1.88 kB
assets/CloudLayoutView-BL3Fafg_.js (new) 6.18 kB 🔴 +6.18 kB 🔴 +2.02 kB 🔴 +1.74 kB
assets/CloudLayoutView-CEs0RtLE.js (removed) 6.18 kB 🟢 -6.18 kB 🟢 -2.02 kB 🟢 -1.75 kB
assets/CloudForgotPasswordView-CZb86Bpw.js (removed) 5.31 kB 🟢 -5.31 kB 🟢 -1.85 kB 🟢 -1.62 kB
assets/CloudForgotPasswordView-DkRFkT5L.js (new) 5.31 kB 🔴 +5.31 kB 🔴 +1.85 kB 🔴 +1.61 kB
assets/CloudAuthTimeoutView-j06Cf-fU.js (new) 4.71 kB 🔴 +4.71 kB 🔴 +1.69 kB 🔴 +1.47 kB
assets/CloudAuthTimeoutView-LhtcX1V2.js (removed) 4.71 kB 🟢 -4.71 kB 🟢 -1.69 kB 🟢 -1.47 kB
assets/CloudSubscriptionRedirectView-CkCJ45AQ.js (removed) 4.37 kB 🟢 -4.37 kB 🟢 -1.65 kB 🟢 -1.45 kB
assets/CloudSubscriptionRedirectView-DwMKc03a.js (new) 4.37 kB 🔴 +4.37 kB 🔴 +1.65 kB 🔴 +1.45 kB
assets/UserSelectView-Dg3FYV5z.js (new) 4.34 kB 🔴 +4.34 kB 🔴 +1.57 kB 🔴 +1.4 kB
assets/UserSelectView-DKjMif2h.js (removed) 4.34 kB 🟢 -4.34 kB 🟢 -1.57 kB 🟢 -1.39 kB
assets/CloudSorryContactSupportView-Bq5r0bm1.js 958 B 958 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-DPXamnO6.js 296 B 296 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/LegacyCreditsPanel-BKzcFXpC.js (new) 20.5 kB 🔴 +20.5 kB 🔴 +5.49 kB 🔴 +4.81 kB
assets/LegacyCreditsPanel-BXhvTk2W.js (removed) 20.5 kB 🟢 -20.5 kB 🟢 -5.5 kB 🟢 -4.82 kB
assets/SubscriptionPanel-CTY48Rz1.js (new) 18.2 kB 🔴 +18.2 kB 🔴 +4.62 kB 🔴 +4.05 kB
assets/SubscriptionPanel-D-MUD6vj.js (removed) 18.2 kB 🟢 -18.2 kB 🟢 -4.62 kB 🟢 -4.05 kB
assets/KeybindingPanel-CNQdyhx9.js (removed) 12.3 kB 🟢 -12.3 kB 🟢 -3.49 kB 🟢 -3.08 kB
assets/KeybindingPanel-GBDrlNUS.js (new) 12.3 kB 🔴 +12.3 kB 🔴 +3.5 kB 🔴 +3.07 kB
assets/ExtensionPanel-DT1kQxOJ.js (removed) 9.18 kB 🟢 -9.18 kB 🟢 -2.57 kB 🟢 -2.28 kB
assets/ExtensionPanel-Qr4qdtYj.js (new) 9.18 kB 🔴 +9.18 kB 🔴 +2.57 kB 🔴 +2.28 kB
assets/AboutPanel-B4HUWxup.js (new) 8.26 kB 🔴 +8.26 kB 🔴 +2.31 kB 🔴 +2.08 kB
assets/AboutPanel-qVGztLei.js (removed) 8.26 kB 🟢 -8.26 kB 🟢 -2.31 kB 🟢 -2.08 kB
assets/ServerConfigPanel-_r7FDflW.js (new) 6.27 kB 🔴 +6.27 kB 🔴 +2.03 kB 🔴 +1.82 kB
assets/ServerConfigPanel-8jP7APQn.js (removed) 6.27 kB 🟢 -6.27 kB 🟢 -2.03 kB 🟢 -1.81 kB
assets/UserPanel-HOjTE2g-.js (removed) 5.92 kB 🟢 -5.92 kB 🟢 -1.84 kB 🟢 -1.62 kB
assets/UserPanel-iBJCsct0.js (new) 5.92 kB 🔴 +5.92 kB 🔴 +1.84 kB 🔴 +1.61 kB
assets/cloudRemoteConfig-DbDDV136.js (removed) 1.71 kB 🟢 -1.71 kB 🟢 -818 B 🟢 -704 B
assets/cloudRemoteConfig-DnCXgBTJ.js (new) 1.71 kB 🔴 +1.71 kB 🔴 +815 B 🔴 +707 B
assets/remoteConfig-BUDSMhNf.js 180 B 180 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/remoteConfig-ChJ6chsD.js 842 B 842 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-B4tKvhju.js 25.9 kB 25.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CaRugk0T.js 31.4 kB 31.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Cc_5ZmNN.js 22.9 kB 22.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CGqeatFl.js 25.7 kB 25.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CmdWWupL.js 26.7 kB 26.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CUG7K3Yo.js 22.3 kB 22.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-D-sRfyAY.js 28.3 kB 28.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DiaIkXsJ.js 27.5 kB 27.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DNazWeKW.js 26.6 kB 26.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Dx2hk4FX.js 35.4 kB 35.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-NGLy8ZAc.js 29.2 kB 29.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 8 added / 8 removed

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

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-BpMjJe6Z.js (new) 3.29 kB 🔴 +3.29 kB 🔴 +1.14 kB 🔴 +951 B
assets/auth-Zromnvaf.js (removed) 3.29 kB 🟢 -3.29 kB 🟢 -1.14 kB 🟢 -949 B
assets/firebaseAuthStore-B2aKBuWy.js (new) 638 B 🔴 +638 B 🔴 +329 B 🔴 +295 B
assets/firebaseAuthStore-BLGrlZWD.js (removed) 638 B 🟢 -638 B 🟢 -329 B 🟢 -289 B
assets/auth-CMl20t7u.js (removed) 288 B 🟢 -288 B 🟢 -191 B 🟢 -175 B
assets/auth-DxmJ7fXG.js (new) 288 B 🔴 +288 B 🔴 +192 B 🔴 +172 B

Status: 3 added / 3 removed

Editors & Dialogs — 2.85 kB (baseline 2.85 kB) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-DSiYrvgt.js (removed) 2.22 kB 🟢 -2.22 kB 🟢 -1.14 kB 🟢 -1 kB
assets/useSubscriptionDialog-kZmZfFDt.js (new) 2.22 kB 🔴 +2.22 kB 🔴 +1.14 kB 🔴 +1 kB
assets/useSubscriptionDialog-CkOlKaLt.js (new) 631 B 🔴 +631 B 🔴 +328 B 🔴 +290 B
assets/useSubscriptionDialog-DYlgX3ep.js (removed) 631 B 🟢 -631 B 🟢 -328 B 🟢 -286 B

Status: 2 added / 2 removed

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

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SubscribeButton-B3wH4Os7.js (removed) 10.7 kB 🟢 -10.7 kB 🟢 -2.73 kB 🟢 -2.42 kB
assets/SubscribeButton-Da60nLce.js (new) 10.7 kB 🔴 +10.7 kB 🔴 +2.73 kB 🔴 +2.43 kB
assets/ComfyQueueButton-3kioiTr3.js (removed) 7.07 kB 🟢 -7.07 kB 🟢 -2.28 kB 🟢 -2.04 kB
assets/ComfyQueueButton-DWviSsz3.js (new) 7.07 kB 🔴 +7.07 kB 🔴 +2.28 kB 🔴 +2.04 kB
assets/CloudBadge-CM-WarqK.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -571 B 🟢 -492 B
assets/CloudBadge-DgQvnF0W.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +569 B 🔴 +494 B
assets/cloudFeedbackTopbarButton-D-7hkPwj.js (new) 1.09 kB 🔴 +1.09 kB 🔴 +632 B 🔴 +545 B
assets/cloudFeedbackTopbarButton-DU_2AEHX.js (removed) 1.09 kB 🟢 -1.09 kB 🟢 -635 B 🟢 -541 B
assets/ComfyQueueButton-67c0OXeB.js (new) 643 B 🔴 +643 B 🔴 +336 B 🔴 +298 B
assets/ComfyQueueButton-Wg1g6xnY.js (removed) 643 B 🟢 -643 B 🟢 -334 B 🟢 -297 B
assets/Button-DXbPXIj1.js 2.86 kB 2.86 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-CRJy-LDw.js 1.11 kB 1.11 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-CKnjYR8V.js 1.71 kB 1.71 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Data & Services — 2.75 MB (baseline 2.75 MB) • 🔴 +79 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-CzzgmSH4.js (new) 1.65 MB 🔴 +1.65 MB 🔴 +367 kB 🔴 +283 kB
assets/dialogService-dOyAzYKO.js (removed) 1.65 MB 🟢 -1.65 MB 🟢 -367 kB 🟢 -282 kB
assets/api-By5sYnUa.js (new) 1.08 MB 🔴 +1.08 MB 🔴 +228 kB 🔴 +180 kB
assets/api-D-z8dBka.js (removed) 1.08 MB 🟢 -1.08 MB 🟢 -228 kB 🟢 -180 kB
assets/releaseStore-Cbx_Qj9w.js (removed) 7.91 kB 🟢 -7.91 kB 🟢 -2.17 kB 🟢 -1.9 kB
assets/releaseStore-DFtMUoyj.js (new) 7.91 kB 🔴 +7.91 kB 🔴 +2.16 kB 🔴 +1.9 kB
assets/keybindingService-Ci04vMv4.js (new) 6.04 kB 🔴 +6.04 kB 🔴 +1.6 kB 🔴 +1.39 kB
assets/keybindingService-DgOOCAb8.js (removed) 6.04 kB 🟢 -6.04 kB 🟢 -1.6 kB 🟢 -1.39 kB
assets/userStore-DIwMhkWl.js (new) 1.83 kB 🔴 +1.83 kB 🔴 +704 B 🔴 +617 B
assets/userStore-sst5P7zV.js (removed) 1.83 kB 🟢 -1.83 kB 🟢 -703 B 🟢 -616 B
assets/audioService-BBkRxtZe.js (new) 1.66 kB 🔴 +1.66 kB 🔴 +817 B 🔴 +707 B
assets/audioService-NuorrAuv.js (removed) 1.66 kB 🟢 -1.66 kB 🟢 -816 B 🟢 -704 B
assets/releaseStore-CLvWM9sz.js (removed) 610 B 🟢 -610 B 🟢 -326 B 🟢 -279 B
assets/releaseStore-D3OSBKnN.js (new) 610 B 🔴 +610 B 🔴 +326 B 🔴 +280 B
assets/serverConfigStore-D6d48Q0y.js 2.3 kB 2.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 7 added / 7 removed

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useErrorHandling-CoTekxsu.js (new) 4.51 kB 🔴 +4.51 kB 🔴 +1.32 kB 🔴 +1.13 kB
assets/useErrorHandling-DeXNHiq1.js (removed) 4.51 kB 🟢 -4.51 kB 🟢 -1.32 kB 🟢 -1.15 kB
assets/subscriptionCheckoutUtil-B22LlVS3.js (new) 1.63 kB 🔴 +1.63 kB 🔴 +739 B 🔴 +651 B
assets/subscriptionCheckoutUtil-CBfBN7FQ.js (removed) 1.63 kB 🟢 -1.63 kB 🟢 -741 B 🟢 -648 B
assets/audioUtils-BphImr9V.js (new) 1.04 kB 🔴 +1.04 kB 🔴 +536 B 🔴 +447 B
assets/audioUtils-dRzDVFVs.js (removed) 1.04 kB 🟢 -1.04 kB 🟢 -537 B 🟢 -445 B
assets/useCurrentUser-CeqeWhpA.js (removed) 572 B 🟢 -572 B 🟢 -315 B 🟢 -269 B
assets/useCurrentUser-Cjbkp_OY.js (new) 572 B 🔴 +572 B 🔴 +315 B 🔴 +271 B
assets/_plugin-vue_export-helper-DkXvIbNw.js 218 B 218 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-Cvq9baIq.js 6.89 kB 6.89 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-BgHJHHDI.js 1.49 kB 1.49 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeFilterUtil-DTOFbnOf.js 242 B 242 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 4 added / 4 removed

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

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-chart-vHYiiHjX.js 398 kB 398 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-bLc542qk.js 4.34 MB 4.34 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-Dn50BkoY.js 1.71 MB 1.71 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-Dfa--nkF.js 97.9 kB 97.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-ROpDBAgW.js 1.84 MB 1.84 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-S96Ju_Nb.js 185 kB 185 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-B8djomGx.js 131 kB 131 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-C9PB687x.js 397 kB 397 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 5.91 MB (baseline 5.91 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core--PA5i2F2.js (removed) 165 kB 🟢 -165 kB 🟢 -40.5 kB 🟢 -34.2 kB
assets/core-DXhVlVpr.js (new) 165 kB 🔴 +165 kB 🔴 +40.5 kB 🔴 +34.2 kB
assets/Load3D-9B46QgQ2.js (new) 46.7 kB 🔴 +46.7 kB 🔴 +8.16 kB 🔴 +7.11 kB
assets/Load3D-TcgtEJKT.js (removed) 46.7 kB 🟢 -46.7 kB 🟢 -8.16 kB 🟢 -7.12 kB
assets/WidgetSelect-CZ5uZniR.js (removed) 42.4 kB 🟢 -42.4 kB 🟢 -9.97 kB 🟢 -8.81 kB
assets/WidgetSelect-DBthYX-I.js (new) 42.4 kB 🔴 +42.4 kB 🔴 +9.97 kB 🔴 +8.82 kB
assets/SubscriptionRequiredDialogContent-BPlR6Rjs.js (removed) 25.2 kB 🟢 -25.2 kB 🟢 -6.26 kB 🟢 -5.49 kB
assets/SubscriptionRequiredDialogContent-qKFhC0X0.js (new) 25.2 kB 🔴 +25.2 kB 🔴 +6.26 kB 🔴 +5.48 kB
assets/WidgetRecordAudio-BqtK4hdN.js (new) 16.9 kB 🔴 +16.9 kB 🔴 +4.8 kB 🔴 +4.29 kB
assets/WidgetRecordAudio-Ddl-uACD.js (removed) 16.9 kB 🟢 -16.9 kB 🟢 -4.8 kB 🟢 -4.3 kB
assets/WidgetImageCrop-0RjnYyYM.js (new) 16.5 kB 🔴 +16.5 kB 🔴 +4.09 kB 🔴 +3.57 kB
assets/WidgetImageCrop-1eV_AIBr.js (removed) 16.5 kB 🟢 -16.5 kB 🟢 -4.09 kB 🟢 -3.58 kB
assets/WidgetInputNumber-BbmYt3cr.js (removed) 14.7 kB 🟢 -14.7 kB 🟢 -4.04 kB 🟢 -3.59 kB
assets/WidgetInputNumber-CgAMSGNy.js (new) 14.7 kB 🔴 +14.7 kB 🔴 +4.04 kB 🔴 +3.58 kB
assets/PanelTemplate-D2FTtP7D.js (new) 14.5 kB 🔴 +14.5 kB 🔴 +5.1 kB 🔴 +4.47 kB
assets/PanelTemplate-vYBQUVk_.js (removed) 14.5 kB 🟢 -14.5 kB 🟢 -5.1 kB 🟢 -4.47 kB
assets/AudioPreviewPlayer-Bega9Hzb.js (removed) 11 kB 🟢 -11 kB 🟢 -3.12 kB 🟢 -2.8 kB
assets/AudioPreviewPlayer-ZvMoZ5NE.js (new) 11 kB 🔴 +11 kB 🔴 +3.12 kB 🔴 +2.8 kB
assets/ValueControlPopover-3n-wBy8g.js (removed) 4.87 kB 🟢 -4.87 kB 🟢 -1.71 kB 🟢 -1.53 kB
assets/ValueControlPopover-B8c1-aFh.js (new) 4.87 kB 🔴 +4.87 kB 🔴 +1.71 kB 🔴 +1.53 kB
assets/WidgetWithControl-CqyFveTg.js (removed) 3.62 kB 🟢 -3.62 kB 🟢 -1.59 kB 🟢 -1.44 kB
assets/WidgetWithControl-Dq3P605p.js (new) 3.62 kB 🔴 +3.62 kB 🔴 +1.59 kB 🔴 +1.44 kB
assets/WidgetAudioUI-D51zMljR.js (removed) 2.94 kB 🟢 -2.94 kB 🟢 -1.26 kB 🟢 -1.13 kB
assets/WidgetAudioUI-Dic4VF_7.js (new) 2.94 kB 🔴 +2.94 kB 🔴 +1.26 kB 🔴 +1.13 kB
assets/cloudSessionCookie-DEeCYERm.js (removed) 2.82 kB 🟢 -2.82 kB 🟢 -984 B 🟢 -860 B
assets/cloudSessionCookie-ROEHPuy6.js (new) 2.82 kB 🔴 +2.82 kB 🔴 +983 B 🔴 +860 B
assets/GlobalToast-B1Qe3GFI.js (removed) 2.28 kB 🟢 -2.28 kB 🟢 -940 B 🟢 -787 B
assets/GlobalToast-CH0wX8L1.js (new) 2.28 kB 🔴 +2.28 kB 🔴 +939 B 🔴 +786 B
assets/SubscribeToRun-_SOdaUkH.js (new) 2.05 kB 🔴 +2.05 kB 🔴 +953 B 🔴 +829 B
assets/SubscribeToRun-B0gbc00S.js (removed) 2.05 kB 🟢 -2.05 kB 🟢 -953 B 🟢 -827 B
assets/BaseViewTemplate-CSeWzAE0.js (removed) 1.69 kB 🟢 -1.69 kB 🟢 -884 B 🟢 -796 B
assets/BaseViewTemplate-DlLRwf_Z.js (new) 1.69 kB 🔴 +1.69 kB 🔴 +885 B 🔴 +800 B
assets/CloudRunButtonWrapper-B8lOkWBv.js (new) 1.42 kB 🔴 +1.42 kB 🔴 +677 B 🔴 +586 B
assets/CloudRunButtonWrapper-BcycR0Cc.js (removed) 1.42 kB 🟢 -1.42 kB 🟢 -679 B 🟢 -590 B
assets/cloudBadges-BaKnqsDU.js (removed) 1.12 kB 🟢 -1.12 kB 🟢 -597 B 🟢 -511 B
assets/cloudBadges-CBEwkChH.js (new) 1.12 kB 🔴 +1.12 kB 🔴 +596 B 🔴 +523 B
assets/cloudSubscription-Be2JfQ5M.js (removed) 1.07 kB 🟢 -1.07 kB 🟢 -554 B 🟢 -470 B
assets/cloudSubscription-Cnzc_04Y.js (new) 1.07 kB 🔴 +1.07 kB 🔴 +552 B 🔴 +466 B
assets/WidgetSelect-D3dbJVkz.js (new) 779 B 🔴 +779 B 🔴 +401 B 🔴 +347 B
assets/WidgetSelect-mTZDCsNf.js (removed) 779 B 🟢 -779 B 🟢 -402 B 🟢 -345 B
assets/graphHasMissingNodes-DEFqa1Vf.js (removed) 696 B 🟢 -696 B 🟢 -341 B 🟢 -290 B
assets/graphHasMissingNodes-DlBBihxi.js (new) 696 B 🔴 +696 B 🔴 +338 B 🔴 +289 B
assets/AudioPreviewPlayer-0plVj8jv.js (new) 684 B 🔴 +684 B 🔴 +354 B 🔴 +320 B
assets/AudioPreviewPlayer-BuZx-UAZ.js (removed) 684 B 🟢 -684 B 🟢 -351 B 🟢 -310 B
assets/Load3D-BX7ga4wx.js (new) 613 B 🔴 +613 B 🔴 +331 B 🔴 +297 B
assets/Load3D-CCVSX8Ve.js (removed) 613 B 🟢 -613 B 🟢 -329 B 🟢 -288 B
assets/WidgetLegacy-CSeriUqC.js (removed) 595 B 🟢 -595 B 🟢 -325 B 🟢 -277 B
assets/WidgetLegacy-KdSaoIJV.js (new) 595 B 🔴 +595 B 🔴 +325 B 🔴 +279 B
assets/WidgetInputNumber-BcffrB06.js (new) 353 B 🔴 +353 B 🔴 +217 B 🔴 +196 B
assets/WidgetInputNumber-BQaLm9zc.js (removed) 353 B 🟢 -353 B 🟢 -215 B 🟢 -193 B
assets/auto-C5ZGWZyn.js 1.7 kB 1.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-7Rm2ilks.js 16 kB 16 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-B2T0Tiqb.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BfbWPTP5.js 14.4 kB 14.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Bk5Hy71M.js 15.2 kB 15.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BKiU7Msm.js 15.4 kB 15.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C1rCoJIk.js 15.4 kB 15.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C7GUJ-mt.js 14.6 kB 14.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CdWPfhpt.js 15.4 kB 15.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CVH8YfJ3.js 16.8 kB 16.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DEW8TY9B.js 16.7 kB 16.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DSsDsJlz.js 16.3 kB 16.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/LazyImage-HSfoff1Z.js 12.1 kB 12.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-AUd7zUBg.js 115 kB 115 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BpCCP66k.js 114 kB 114 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CBw3AB4l.js 130 kB 130 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CI-qDj4D.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CIHIfV-1.js 141 kB 141 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D3JtHwOI.js 101 kB 101 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DlyqN1PJ.js 120 kB 120 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Dw03OKYD.js 117 kB 117 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-NAIvZE28.js 137 kB 137 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-OFh0xigr.js 101 kB 101 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-sEff9s2e.js 157 kB 157 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-lnE1c3Rz.js 1.76 kB 1.76 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-D8F3P6nT.js 1.37 kB 1.37 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-C2q25E_R.js 1.64 kB 1.64 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-BekXmdBL.js 2.19 kB 2.19 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/mixpanel.module-CB67EPbl.js 92 B 92 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-a476Kb1a.js 339 kB 339 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BoysRuhG.js 352 kB 352 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-C1DGym0y.js 310 kB 310 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CFwsX_m-.js 381 kB 381 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CiPSzZ9E.js 339 kB 339 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-COhYgldT.js 343 kB 343 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D1eJ3MWg.js 313 kB 313 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D5AbIjlp.js 336 kB 336 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Dj0hpilf.js 415 kB 415 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Dm25Ay8M.js 381 kB 381 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-h4f9Qpyk.js 333 kB 333 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/preservedQueryNamespaces-8IvUKrEM.js 2.7 kB 2.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-BVSCtPLU.js 603 B 603 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/rolldown-runtime-uYyVBMFy.js 1.34 kB 1.34 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-hv4kjqwF.js 3.42 kB 3.42 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/src-DWRIFAAP.js 191 B 191 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-B5EDHllb.js 383 B 383 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-BMqKTQRe.js 168 B 168 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-U1eyr0w3.js 3.89 kB 3.89 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-BEyqUpBQ.js 2.15 kB 2.15 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-B9aMCXIf.js 2.81 kB 2.81 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria--Zrc3dqq.js 3.55 kB 3.55 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-lotcrt8e.js 2.99 kB 2.99 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-BLNJPSNx.js 1.76 kB 1.76 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-DB5JMJv7.js 1.84 kB 1.84 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-kMx3IKl7.js 2.52 kB 2.52 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-BOgWBAuV.js 1.04 kB 1.04 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-DzYOr75r.js 2.7 kB 2.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-B9y-IUIh.js 2.26 kB 2.26 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 25 added / 25 removed

@AustinMroz AustinMroz merged commit b0d7a7f into main Jan 19, 2026
32 checks passed
@AustinMroz AustinMroz deleted the austin/force-cag-disabled branch January 19, 2026 20:59
AustinMroz added a commit that referenced this pull request Jan 19, 2026
#8112 updated control widgets to be disabled when the controlled widget
is disabled. However, some workflows already exist that contain a
promoted control widget which does not function. This widget wouldn't be
marked as disabled (and thus, demoted) until the interior subgraph was
entered as updating `computedDisabled` is tacked to node draw. This is
fixed by having subgraphs eagerly update the `computedDisabled` state on
each node when configured.

Additionally, when `createCopyForNode` was used, linkedWidget retained
pointers to widgets which no longer have relation to the newly cloned
widget. This is resolved by instead not copying linkedWidgets.
Functionally, linkedWidgets is only used for control widgets and not
copying has the effect of ensuring that seed widgets linked to a
subgraph input will not display a control popover button in vue mode
which does nothing.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8160-Control-widget-fixes-2ed6d73d3650816cb397f83f558471b3)
by [Unito](https://www.unito.io)
DrJKL pushed a commit that referenced this pull request Jan 19, 2026
Manual backport of #8112 and #8160 to `cloud/1.37`

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8163-backport-cloud-1-37-control-widget-fixes-2ed6d73d3650815cb458e8adc44ad4bc)
by [Unito](https://www.unito.io)

---------

Co-authored-by: github-actions <github-actions@github.com>
godwiniheuwa pushed a commit to godwiniheuwa/ComfyUI_frontend that referenced this pull request Jan 22, 2026
Comfy-Org#8112 updated control widgets to be disabled when the controlled widget
is disabled. However, some workflows already exist that contain a
promoted control widget which does not function. This widget wouldn't be
marked as disabled (and thus, demoted) until the interior subgraph was
entered as updating `computedDisabled` is tacked to node draw. This is
fixed by having subgraphs eagerly update the `computedDisabled` state on
each node when configured.

Additionally, when `createCopyForNode` was used, linkedWidget retained
pointers to widgets which no longer have relation to the newly cloned
widget. This is resolved by instead not copying linkedWidgets.
Functionally, linkedWidgets is only used for control widgets and not
copying has the effect of ensuring that seed widgets linked to a
subgraph input will not display a control popover button in vue mode
which does nothing.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8160-Control-widget-fixes-2ed6d73d3650816cb397f83f558471b3)
by [Unito](https://www.unito.io)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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