Repository navigation
v2.2.21 - Smoother Chat UX: Stable Message Rendering
This release fixes layout thrashing and improves performance during streaming responses.
Changes:
- Memoized message bubbles: Each message now has a stable unique ID, preventing unnecessary re-renders of existing messages when new ones arrive
- Fixed auto-scroll behavior: Scroll now triggers only on new messages or thinking state changes, not on the 500ms thinking-dot animation
- Stabilized markdown renderers: Component definitions are wrapped in useMemo for referential stability
- Eliminated layout jumpiness: Thumbnails and message content no longer shift or reload when streaming progresses
Result: When receiving a response with images/thumbnails, the chat stays smooth and stable. Previous messages anchor in place while only the current response updates.