v5.8.1 — Live Hardening
Three bugs the mocked suite couldn't see — found and fixed by running the diagnosis loop against a real ComfyUI 0.27.0 + RTX 4090 render. The auto-report now actually lands on every render, with a truthful duration.
Fixed
- Auto-report fires on every render. The websocket execute loop could break on the
statusmessage (queue_remaining == 0) before theexecuting: nullcompletion was dispatched — so the diagnosis subscriber (and webhook consumers) never fired on a real render, and the report was silently dropped. The loop now guarantees exactly one terminal event per execution. - Duration is worker-measured.
durationScame from a websocket event whoseelapsed_mssubtracted amonotonicstart from an epoch timestamp — a ~1.78-billion-second nonsense value. It now comes from ComfyUI's own/historyexecution timestamps (measure-at-the-worker), falling back to0.0only when the worker reports no timing. - Subscriber tolerates the history-write window. ComfyUI signals completion slightly before
/historyis written; the subscriber fetched once, got nothing, and dropped the report. Now a bounded, fail-soft retry.
Verified live
Fresh-seed SDXL render → auto-emits exactly one document, durationS 34.52s (≈ wall time 35.02s), 7 populated per-node stages, no manual intervention. Also validated against the live server: collect_env field mapping, driver → unknown honesty, and the bridge stage-token join.
+7 tests · full suite 4815 passed · zero regressions.
Full Changelog: v5.8.0...v5.8.1