- Sidebar prewarm no longer steals the Vue host from an already-open panel:
mountKeepAlive only attaches on first creation unless explicitly allowed,
and teardown resets the prewarm state and removes its detached container.
- Topbar MFV button now also observes the actionbar container's parent so a
full replacement of .actionbar-container (not just mutations inside it) is
detected and the button is remounted.
- get() skips request deduplication when a caller passes its own AbortSignal,
since the shared fetch only ever wired up the first caller's signal.
- The API client now rejects response envelopes missing a boolean `ok` field
(including bare arrays) and downgrades ok:true responses paired with an
HTTP error status to INVALID_RESPONSE.
- frontend-compat-nightly.yml: upstream ComfyUI_frontend's build:types now
emits per-file declarations mirroring src/ instead of one bundled file, so
the previous entrypoint paths no longer exist. The activation step now also
checks dist/src/types/index.d.ts and copies the whole dist/ tree so the
unbundled declaration's relative imports keep resolving.