mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-06 05:31:36 +00:00
* feat(ui): unify Control UI offline state into one indicator and a queueing composer hint
The Control UI showed three competing offline surfaces (top connection
banner, agent-card presence dot, sidebar footer label), each deriving its
own view of the same gateway snapshot with inconsistent debounce.
- Centralize the 2s offline debounce as `offlineStable` in the gateway
store; delete the sidebar-local timer.
- Delete the connection banner and the agent-card presence dot; the
gateway link is client state, not agent presence.
- The sidebar footer indicator is now canonical: a single offline button
with reconnect detail, redacted last-error tooltip, and click-to-retry
(absorbs the banner's "Retry now"). Connected state renders nothing.
- Settings sidebar footer follows the same offline-only rule (no green
connected dot).
- The composer shows an offline hint strip ("messages will be queued and
sent when the connection returns") while staying fully usable; the
existing durable outbox already replays queued sends on reconnect.
* fix(ui): keep offline debounce constant module-local for knip production scan