Cleaner AI chat history load + reliable autoscroll
Fixed
Opening or switching an AI chat now lands at the newest message instantly,
instead of smooth-scrolling up from the top while the history streamed in. The
jump runs in a layout effect (before paint), so there's no visible travel.
Existing history no longer replays the entrance animation. Only genuinely
new turns fade in; messages loaded from cache/server render statically, the way
Claude's thread does. Tracked with a per-thread animation baseline.
Sending a message always follows to the bottom, regardless of where the
user had scrolled. New turns (yours and the assistant's) smooth-scroll down
within the current chat; only a chat switch jumps instantly.
The active chat's messages now paint instantly from cache on open, instead
of waiting on the /api/ai/conversations list request. That network round
trip (cold serverless + auth/RLS) used to sit before the thread was opened,
so cached messages were blocked behind it; the list now reconciles in the
background after the thread is already on screen.