mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-23 06:10:32 +00:00
*PR Created by the Glary-Bot Agent* --- ## Summary Backport of #11790 onto `cloud/1.43`. Reverts #10849 (per-instance promoted widget value storage) and its companion test-pinning PR #11697. **Why this is needed on `cloud/1.43`:** Glary-Bot's consolidated backport (#11926) cherry-picked #10849 into `cloud/1.43` on May 5 — four days *after* the same change was reverted on `main` in #11790. The audit didn't surface the upstream revert. As a result, `cloud/1.43` (1.43.16) currently ships the buggy #10849 implementation while `main` / nightly (1.45.1) doesn't. This is the cause of the Hub `rob_realistic_2k_images_quick_variations` model/vae/clip mixup regression reported in `#bug-dump`; the same template renders correctly on nightly. After this lands, `cloud/1.43` and `main` will be on the same code path for promoted-widget serialization. The replacement fix (#11811 with `_pendingWidgetsValuesReplay`) will land separately on `main` and can be backported afterward. ## Changes Mirrors the upstream revert of #10849 + #11697: - Removes `_instanceWidgetValues` map, `_pendingWidgetsValues` hydration, and the `widgets_values` write path in `SubgraphNode.serialize()` - Removes `sourceSerialize` field on `PromotedWidgetView` - Removes the multi-instance Vitest suite (`SubgraphNode.multiInstance.test.ts`) and the multi-instance E2E test + workflow asset ## Conflict Resolution Two conflicts surfaced (vs the original revert, which conflict-resolved against #11579 on `main`): 1. **`browser_tests/tests/subgraph/subgraphSerialization.spec.ts`** — `cloud/1.43` does not have the #11579 expanded test coverage (`Duplicate ID Remapping`, `Legacy Prefixed proxyWidget Normalization`) that the original revert preserved. Took the `cloud/1.43` HEAD structure and removed only the now-unreachable multi-instance test, its helper `getPromotedHostWidgetValues`, and the unused `ComfyPage` import. 2. **`src/lib/litegraph/src/subgraph/SubgraphNode.multiInstance.test.ts`** — `modify/delete` (file was present on `cloud/1.43`'s #10849 backport, deleted by the revert). Resolved by removing the file, matching the revert. ## Verification **Static analysis & tests:** - `pnpm typecheck` — clean - `pnpm typecheck:browser` — clean - `pnpm exec eslint` on all changed files — clean - `pnpm test:unit -- --run subgraph` — 506 tests passing across 34 suites (`SubgraphNode.test.ts`, `promotedWidgetView.test.ts`, `subgraphNodePromotion.test.ts`, etc.) **Manual verification (Playwright + local dev server):** - Started ComfyUI backend (`--cpu --port 8188`) and `pnpm dev` frontend; loaded the page successfully. - Loaded `subgraph-with-multiple-promoted-widgets.json` — subgraph node hydrated with 2 promoted widgets. - Set distinct values on each promoted widget (`first-promoted-value`, `second-promoted-value`), serialized via `app.graph.serialize()`, and reloaded via `app.loadGraphData(...)`. Both values round-tripped correctly to the right widget slots — confirming the revert restores the working single-instance path that nightly currently ships. - Hub-fetched template (`rob_realistic_2k_images_quick_variations`) could not be reproduced locally — `comfy.org/workflows/...` API returns 404 to anonymous curl from the sandbox, and the Hub UI flow needs auth wired up. The team has already confirmed this template renders correctly on nightly, which ships this same revert. ## Note on Oracle Review Oracle flagged the multi-instance regression and the cloud/1.43 forward-compat trade-off as "critical." These describe the *intended* behavior of this revert — the team has consciously chosen the legacy clobber path over #10849's broken per-instance code while the replacement (#11811) is finalized on `main`. Both findings are accepted trade-offs, not blockers. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-12098-backport-cloud-1-43-revert-roll-back-10849-11697-per-instance-promoted-widget-va-35b6d73d36508109a715fc9d3428a294) by [Unito](https://www.unito.io) Co-authored-by: Alexander Brown <drjkl@comfy.org>