ComfyUI/tests/execution
Glary-Bot 2205341279 Include workflow_id in all execution WebSocket messages
The frontend already stores extra_data['extra_pnginfo']['workflow']['id']
when queueing a prompt and exposes it via the /api/jobs REST endpoint, but
none of the WebSocket events emitted during execution carry it. That makes
it impossible to scope progress state by workflow on the client without
maintaining a job_id -> workflow_id mapping that races with execution_start.

This adds workflow_id alongside prompt_id on every execution event:

- execution_start, execution_success, execution_error, execution_interrupted,
  execution_cached, executing, executed
- progress and progress_state
- the metadata block on PREVIEW_IMAGE_WITH_METADATA

A new public extract_workflow_id helper in comfy_execution/jobs.py is the
single source of truth for the lookup; the existing _extract_job_metadata
delegates to it. The id is plumbed through PromptExecutor (stored as
self.workflow_id and on server.last_workflow_id), the module-level
execute() coroutine, the _send_cached_ui helper, and ProgressRegistry /
reset_progress_state so WebUIProgressHandler can include it in
progress_state and preview-image metadata. The progress hook in main.py
reads server.last_workflow_id to populate the legacy 'progress' event.

Tests cover the helper's edge cases (missing/non-string ids, non-dict
levels) and that the WebUIProgressHandler emits workflow_id on every
progress_state payload via mocked PromptServer.
2026-05-02 02:29:55 +00:00
..
testing_nodes/testing-pack Fix progress update crossover between users (#9706) 2025-09-04 19:13:28 -04:00
extra_model_paths.yaml Fix progress update crossover between users (#9706) 2025-09-04 19:13:28 -04:00
test_async_nodes.py Fix progress update crossover between users (#9706) 2025-09-04 19:13:28 -04:00
test_execution.py Add unified jobs API with /api/jobs endpoints (#11054) 2025-12-17 21:44:31 -08:00
test_jobs.py Include workflow_id in all execution WebSocket messages 2026-05-02 02:29:55 +00:00
test_preview_method.py feat(preview): add per-queue live preview method override (#11261) 2025-12-15 15:57:39 -08:00
test_progress_isolation.py Fix progress update crossover between users (#9706) 2025-09-04 19:13:28 -04:00
test_public_api.py [fix] Fixes non-async public API access (#10857) 2025-11-23 22:56:20 -08:00