Skip to content

v2.55.3

Choose a tag to compare

@aebrer aebrer released this 11 Aug 15:49
· 33 commits to master since this release
4cb2507

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.partial field (alongside the already-stripped top-level message) from message_update events before SSE sizing, retention, and fanout.
  • Nested child events covered. The same projection applies through the recursive background_agent_event path 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.