What's Changed
Chat: replaced tmux polling with direct Gateway API SSE streaming — the Chat page no longer spawns a tmux agent session and polls for output. Instead, it streams directly via /v1/chat/completions (OpenAI-compatible SSE endpoint).
Benefits
- Instant response — no 2-second polling delay, no agent spawn overhead
- True abort — AbortController kills the fetch, not just stops showing output
- Session continuity —
X-Hermes-Session-Idheader maintains conversation context - Cleaner state — no agent lifecycle management
Added
api.streamChat()— async generator yielding SSE delta tokens from/v1/chat/completions- DnaLoader component — animated DNA helix loading indicator
- Architecture diagram —
docs/miniapp-v2-architecture.html— full system diagram
Removed
- tmux agent spawn/poll/cleanup from ChatPage (Agents page still has power-user tmux spawning)
Full Changelog: v2.0.3...v2.0.4