Comfy-Org / Comfy-Org/ComfyUI_frontend
Design clean public API for extension authors to integrate custom widgets with widgetValueStore
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 699
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 490
Description
## Context
PR #9230 introduces `useDomValueBridge` to synchronize DOM widget values with the `widgetValueStore` by intercepting `Object.defineProperty` on element.value and listening for input events. While this approach works as a bridge for extension-created DOM widgets, it relies on internal value-descriptor patterns that are not part of a supported public API.
## Problem
Extension authors currently lack a clean, documented integration point to wire custom widgets to the `widgetValueStore`. The current value-descriptor pattern is an implementation detail rather than a stable extension API.
## Proposed Solution
Design and implement a proper public API that:
- Provides a clear, documented way for extension authors to integrate custom widgets with the store
- Replaces the current value-descriptor pattern with a supported integration mechanism
- Maintains backward compatibility where feasible
- Includes documentation and migration guidance
## References
- PR: https://github.com/Comfy-Org/ComfyUI_frontend/pull/9230
- Discussion: https://github.com/Comfy-Org/ComfyUI_frontend/pull/9230#discussion_r2857107802
- Requested by: @christian-byrne
## Acceptance Criteria
- [ ] Public API design documented
- [ ] Extension author documentation created
- [ ] Deprecation path defined for current pattern (if applicable)
- [ ] Implementation plan outlined
┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-9296-Design-clean-public-API-for-extension-authors-to-integrate-custom-widgets-with-widgetV-3156d73d365081998c7bdc6ac18820a6) by [Unito](https://www.unito.io)
Contributor guide
Assessment
This issue has not been assessed yet.