This release focuses on making everyday chat workflows more reliable, especially when editing, regenerating, or cleaning up chats.
It also includes a handful of stability fixes across the web app to reduce edge-case errors and keep UI behavior consistent.
More reliable chat cleanup and regeneration
Chat cleanup logic is now shared and used consistently across key flows, helping ensure active or pending streams are properly completed before messages are removed or regenerated.
Editing and regenerating a message now uses the same cleanup steps for streams and follow-up messages, which helps avoid leftover in-progress work tied to the chat.
Web app stability and edge-case handling
Typing status updates now validate request bodies more defensively, returning clearer errors when required data is missing or malformed.
Prompt drafts are less likely to be overwritten right after switching chats, thanks to updated save and restore sequencing.
Mobile detection is now more resilient in environments where matchMedia is unavailable, and the chat interface avoids relying on browser-only values during initial render.
Favorites syncing behavior is more robust when the active user changes, reducing the chance of stale state carrying over between sessions.