-
Notifications
You must be signed in to change notification settings - Fork 491
Disable control widgets on link to parent #8112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (2)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including You can disable this status message by setting the 📝 WalkthroughWalkthroughAdds dynamic 'disabled' getters to valueControl and comboFilter widgets to propagate the disabled state from targetWidget.computedDisabled. The getters are implemented using Object.defineProperty as read-only accessors without modifying existing logic or public APIs. Changes
Suggested reviewers
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. Comment |
🎭 Playwright Tests:
|
🎨 Storybook Build Status✅ Build completed successfully! ⏰ Completed at: 01/16/2026, 09:52:08 PM UTC 🔗 Links🎉 Your Storybook is ready for review! |
Bundle Size ReportSummary
Category Glance Per-category breakdownApp Entry Points — 3.36 MB (baseline 3.36 MB) • 🔴 +273 BMain entry bundles and manifests
Status: 3 added / 3 removed Graph Workspace — 1.14 MB (baseline 1.14 MB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration
Status: 1 added / 1 removed Views & Navigation — 6.66 kB (baseline 6.66 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces
Status: 1 added / 1 removed Panels & Settings — 372 kB (baseline 372 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens
Status: 6 added / 6 removed UI Components — 203 kB (baseline 203 kB) • ⚪ 0 BReusable component library chunks
Status: 8 added / 8 removed Data & Services — 12.5 kB (baseline 12.5 kB) • ⚪ 0 BStores, services, APIs, and repositories
Status: 2 added / 2 removed Utilities & Hooks — 1.41 kB (baseline 1.41 kB) • ⚪ 0 BHelpers, composables, and utility bundles
Status: 1 added / 1 removed Vendor & Third-Party — 9.34 MB (baseline 9.34 MB) • ⚪ 0 BExternal libraries and shared vendor chunks
Other — 5.38 MB (baseline 5.38 MB) • ⚪ 0 BBundles that do not match a named category
Status: 16 added / 16 removed |
|
Updating Playwright Expectations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well this is tragic to see. Is this just a slight difference of length between 1 and 0 ?
#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)
When a link is made to a widget with control (like seed) , the control widget can no longer be used to update it's state. To better communicate this, the control widgets are now given the disabled property when their parent widget is linked. | Before | After | | ------ | ----- | | <img width="360" alt="before" src="https://github.com/user-attachments/assets/9b6c6c02-2481-486a-bb07-c19d00abe36d" /> | <img width="360" alt="after" src="https://github.com/user-attachments/assets/837000ac-8a12-4d51-879b-a58e0577ff10" />| ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8112-Disable-control-widgets-on-link-to-parent-2ea6d73d365081afad77db6c5f56e085) by [Unito](https://www.unito.io) --------- Co-authored-by: github-actions <[email protected]>
#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)
When a link is made to a widget with control (like seed) , the control widget can no longer be used to update it's state. To better communicate this, the control widgets are now given the disabled property when their parent widget is linked. | Before | After | | ------ | ----- | | <img width="360" alt="before" src="https://github.com/user-attachments/assets/9b6c6c02-2481-486a-bb07-c19d00abe36d" /> | <img width="360" alt="after" src="https://github.com/user-attachments/assets/837000ac-8a12-4d51-879b-a58e0577ff10" />| ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8112-Disable-control-widgets-on-link-to-parent-2ea6d73d365081afad77db6c5f56e085) by [Unito](https://www.unito.io) --------- Co-authored-by: github-actions <[email protected]>
When a link is made to a widget with control (like seed) , the control widget can no longer be used to update it's state. To better communicate this, the control widgets are now given the disabled property when their parent widget is linked. | Before | After | | ------ | ----- | | <img width="360" alt="before" src="https://github.com/user-attachments/assets/9b6c6c02-2481-486a-bb07-c19d00abe36d" /> | <img width="360" alt="after" src="https://github.com/user-attachments/assets/837000ac-8a12-4d51-879b-a58e0577ff10" />| ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8112-Disable-control-widgets-on-link-to-parent-2ea6d73d365081afad77db6c5f56e085) by [Unito](https://www.unito.io) --------- Co-authored-by: github-actions <[email protected]>
|
@AustinMroz Successfully backported to #8165 |
|
@AustinMroz Successfully backported to #8166 |
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 <[email protected]>
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)
When a link is made to a widget with control (like seed) , the control widget can no longer be used to update it's state. To better communicate this, the control widgets are now given the disabled property when their parent widget is linked.
┆Issue is synchronized with this Notion page by Unito