Comfy-Org / Comfy-Org/ComfyUI_frontend

Agent follower re-projection drops the widgets of a node the human just edited

Open
#16,870 0 comments 0 reactions 1 assignee Claimed by @christian-byrne View on GitHub
Potential Bug
Dominant language
TypeScript
Stars
2k
Forks
699
Avg merge
1d 7h
Merged PRs (30d)
490

Description

### Prerequisites

- [x] I am running the latest version of ComfyUI
- [ ] I have custom nodes enabled

### What happened?

When a human types into a seed node's text widget while an agent turn is applying ops, the node is re-projected from the CRDT doc and comes back with no widgets: the canvas shows only its slots (`Positive prompt clip CONDITIONING`), while every other node keeps its widgets. The doc still holds the typed value; only the rendered node lost it. This started with the node materializer from #16652; before that merge the same flow kept the widget.

### Steps to Reproduce

1. Open a saved text-to-image workflow with the agent panel and real node definitions loaded.
2. Send a prompt that makes the agent add several nodes in one turn.
3. While the turn is applying ops, type into the Positive prompt (CLIPTextEncode) text box.
4. After the turn ends, observe the Positive prompt node renders with no text widget; other nodes are intact.

Automated repro: `browser_tests/tests/agent/agentConversationConcurrentEdits.spec.ts` from #16776 against a cloud build of main with real `/api/object_info`:

```
PLAYWRIGHT_TEST_URL= pnpm exec playwright test agentConversationConcurrentEdits --project=cloud
```

The spec is marked fixme against this issue until it is fixed.

### Workflow

The recorded conversation `browser_tests/fixtures/data/agent/conversations/agent-rec-three-sequential-adds.json` in #16776 (seed workflow plus the agent's ops).

### How is this affecting you?

Feature doesn't work as expected

### ComfyUI Frontend Version

1.54.1 (main)

### Browser

Chrome/Chromium

### Additional Context

Reproduced against the exact `frontend-dist-cloud` bundle CI builds for #16776 (PR merged with main at 86bf063ae2), stable across runs, with Vue nodes enabled. Materializer entry point: `src/workbench/extensions/agent/crdt/agentNodeMaterializer.ts`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.