v0.19.1 — Streaming Stability & Thinking Animation Fix
Changes
🐛 Streaming Stability
- Overlap-tolerant chunk merging — new
mergeStreamingChunk()handles cumulative snapshots, overlapping deltas, and exact replays from upstream without duplicating text - Background session streaming — background Claude handler now uses the same merge logic, preventing text duplication when switching between sessions
🎨 Thinking Animation
- Extracted thinking animation state machine — moved from inline ThinkingBlock logic into a pure, testable
thinking-animation.tsmodule - Removed coalescing timer — the v0.19.0 interval-based chunk coalescing caused replay/duplication under rapid thinking updates; replaced with a simpler append-only model
Full Changelog: v0.19.0...v0.19.1