mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-04 13:12:10 +00:00
fix: stabilize promoted widget identity and fix link position on mode switch
Promoted widget rename propagation: - Separate identity (name) from display (label) in PromotedWidgetView using a stable identityName (subgraphInput.name, e.g. "value_1") - label getter/setter now reads/writes the bound subgraph slot directly via cached getBoundSubgraphSlot(), not widget state - drawWidget uses this.label with try/finally for safe projected label - SubgraphNode passes slotName through the reconcile pipeline as identityName; rename handler only changes input.label and _widget.label, preserving input.widget.name for matching - renameWidget() no longer propagates to interior node widgets/inputs - Vue label source changed from widget.slotName to widget.promotedLabel Link position on draft restore: - Call handleVueNodeLifecycleReset after initializeWorkflow so the node manager initializes against the fully-configured graph Link position on legacy-to-Vue mode switch: - Debounce layoutStore.onChange (800ms) to wait for all ResizeObserver measurement cycles to settle before resetting, with 3s fallback
This commit is contained in:
@@ -92,6 +92,10 @@ export interface SafeWidgetData {
|
||||
* execution ID (e.g. `"65:42"` vs the host node's `"65"`).
|
||||
*/
|
||||
sourceExecutionId?: string
|
||||
/** Tooltip text from the resolved widget. */
|
||||
tooltip?: string
|
||||
/** For promoted widgets, the display label from the subgraph input slot. */
|
||||
promotedLabel?: string
|
||||
}
|
||||
|
||||
export interface VueNodeData {
|
||||
@@ -352,7 +356,8 @@ function safeWidgetMapper(
|
||||
sourceNode && app.rootGraph
|
||||
? (getExecutionIdByNode(app.rootGraph, sourceNode) ?? undefined)
|
||||
: undefined,
|
||||
tooltip: widget.tooltip
|
||||
tooltip: widget.tooltip,
|
||||
promotedLabel: isPromotedWidgetView(widget) ? widget.label : undefined
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(
|
||||
|
||||
Reference in New Issue
Block a user