Live queue_status for every client
The orchestrator now broadcasts ComfyUI’s live render/queue state — running,
queue depth, current node, sampler progress, prompt_id — to every connected tab,
riding the existing QueueMonitor watchdog so browser-queued jobs are covered too.
Change-only and capped at 1 frame/sec (an idle rig broadcasts nothing), and each tab
is seeded with the current state on hello, so a client connecting mid-render sees
the running job immediately. This powers the
mobile app’s live queue monitor.
cancel_job joins the mobile whitelist for one-tap cancel of the running render
from the phone — narrowly scoped: the client passes the prompt_id it observed,
only a still-matching running job is interrupted, and pending jobs are never touched.
CivitAI provenance in list_local_models
Models downloaded via download_civitai_model now render a civitai: <page URL>
line from their sidecar metadata, carrying the model id + the installed version
id — so agents and clients (like the mobile LoRA hub) can link back to the source
and check CivitAI for newer versions.
Fixed: the watchdog survives a ComfyUI retarget
The QueueMonitor WebSocket never reconnected once the orchestrator retargeted ComfyUI (e.g. the127.0.0.1 → localhost swap on a local panel hello) — leaving
queue_status permanently disconnected and silently disabling the local-Ollama VRAM
pause. Latent since the watchdog landed on June 27; start() now reconnects on a
URL change and stale-socket handlers can’t null a new connection.