You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Code blocks in messages now show a copy button in the top-right corner, so you can copy the code inside a fenced block with one click.
Fixed
Scrolling up now reliably locks the message list so streaming output no longer drags it back to the bottom: the virtualizer's scroll corrections are gated off while the lock is engaged (late row re-measurements, such as async code highlighting landing above the viewport, could still yank the locked viewport downward), and any scroll away from the bottom — including scrollbar drags and keyboard scrolling, not just wheel events — now disables auto-follow until the list is scrolled back down to the bottom.
The up and down arrow keys in the chat input now move the cursor between lines first: recalling previous messages only kicks in when the cursor is already on the first line (up arrow) or the last line (down arrow), so editing a multi-line message no longer suddenly jumps into message history.
The message list no longer micro-jitters when scrolling to the bottom of a long conversation: messages stay in place instead of shifting a few pixels as the list settles.
The model list can no longer get permanently stuck after a bad start: every catalog load is now time-boxed and aborted for real, a worker that cannot build the catalog is respawned fresh, and opening the model picker now kicks a background refresh — so a session opened quickly after launch no longer ends up with a missing or frozen model list that only an app restart could fix.