v0.0.8 - ComfyUI canvas node pack, draining ETA
The ComfyUI node pack is the headline
comfyui-relay/ was a one-file shim that rebroadcast progress messages so the widget could see
foreign jobs. It is now also a pack of ten display nodes you drop on the ComfyUI canvas — the
watcher's readouts, drawn on the graph itself, so you can see step position, rate, elapsed, ETA and
VRAM without leaving the tab you are working in.
- Four layouts — Four Wells, Plate, Bar, Trace — each with and without a VRAM strip,
plus two standalone VRAM nodes (the cards your workflow selected, or every card on the box). - Style is a widget on the node, not a node type. Switching between
rackandglassnever
costs a node its wires or its position. - The VRAM node shows only the cards the graph actually uses: a MultiGPU
devicewidget naming
cuda:1is honoured, and with nothing pinned it falls back to ComfyUI's own device. The face
prints which rule applied. - Install: copy
comfyui-relay/intocustom_nodes/, restart ComfyUI. It ships inside the
installer too, underresources/comfyui-relay/— the (i) button in the app tells you where.
A finished run keeps its numbers. The rate used to blank to N/A the moment a job ended, throwing
away the figure the node had just spent the whole run measuring while the step count and elapsed
time beside it stayed. Now steps, rate and elapsed all hold, and the ETA well — which has nothing
left to say — relabels itself to FINISHED, or FAILED / STOPPED. A node that has never run keeps
its ETA label; there is no end state to report.
The ETA counts down between steps
On a MiniMax-H3 sampler at 20-30 seconds per step, steps left / rate only changed when a step
landed: the figure sat frozen for half a minute and then jumped, which reads as a stuck widget
rather than a slow job. The step in flight is now counted apart from the ones after it, so the ETA
drains at one second per second. It stops at the end of the current step — if a job stalls, the
figure holds at the whole steps remaining instead of counting down to a finish that is not coming.
Fixed alongside it: the ETA was computed from the fresh rate estimate, which is null on the first
step of every batch item because the rate window has just been emptied. The held rate beside it kept
reading, so on a 28-image run the ETA blanked once per image while the rate did not.
Reactor panel: readable across a desk
- Everything went up about a quarter — header, annunciators, well captions, dial end words and
figure, the build-info windows, recorder labels, bulb-bank captions, identity plate. The four
middle-column boxes (STEPS LEFT / ETA / ELAPSED / QUEUE) were already sized and are unchanged. - The dial figure is ink now, not lamp light. In the Control Room idiom it was drawn in the same
amber the lamps use — pale orange on a cream face, and the hardest thing on the panel to read. It
is mixed down to a dark tint that keeps the state colour (amber running, jade done, red fault) at
printed-ink contrast. The Reactor Console is untouched: its face is glass, and the figure there
really is light.
Also
- Relay verdict window 10s → 90s. A host whose relay was verifiably working was being reported
absent, because an H3 sampler only speaks every 20-30 seconds and a 10-second window routinely
held nothing. fmtSecprinted "3m60s" at 239.6 seconds.
Downloads
Windows only this time. The Linux AppImage and .deb are built in WSL, and WSL2 will not start on
the build machine tonight (virtualisation is off at the firmware level, HypervisorPresent=False).
They will be attached to this release once that box is back — nothing in this build is
platform-specific, so the 0.0.7 Linux artifacts remain usable in the meantime.