v2.55.3
Bounded dashboard streaming payloads
Fast, verbose local models no longer overwhelm the dashboard's SSE connection with redundant cumulative state on every streaming delta.
What changed
- Smaller streaming frames. The dashboard-only event projection now strips the reducer-unused cumulative
assistantMessageEvent.partialfield (alongside the already-stripped top-levelmessage) frommessage_updateevents before SSE sizing, retention, and fanout. - Nested child events covered. The same projection applies through the recursive
background_agent_eventpath so subagent streams stay bounded too. - Exact transcript behavior preserved. The browser reducer reads only the stream event type, content index, delta, and finalized content — all of which survive projection — so live and replayed transcripts remain identical, including finalization and reconnect/resync recovery.
- Boxed test regression. A 2,000-delta high-rate stream fixture proves stable per-frame sizes, bounded history within the configured byte budget, complete replay without resync barriers, and exact transcript reconstruction for text, thinking, and tool-call streams.
- Forward-safe. Unknown event types pass through unchanged and the source runtime event is never mutated.
Implemented in PR 447.