fix(ui): stabilize streaming chat scroll follow#375
fix(ui): stabilize streaming chat scroll follow#375VooDisss wants to merge 1 commit intoNeuralNomadsAI:devfrom
Conversation
Stabilize the chat viewport scroll-follow behavior during streaming with a smaller, one-file fix centered on VirtualFollowList. The original failure mode was that streaming output could keep follow mode sticky or trigger visible snapbacks when the user tried to inspect earlier parts of a long response. The important fixes are to treat upward wheel input as an immediate exit from follow, to allow native browsing while escaped, to rejoin follow only when the viewport deliberately returns near the bottom, and to rely on the DOM scroller as the source of truth when Virtua's internal scroll offset lags behind real manual movement. This version keeps the fix narrowly scoped to virtual-follow-list.tsx. Immediate programmatic top/bottom moves use direct DOM scroll position writes, content-growth follow is coalesced through scrollHeight checks, and the state machine is trimmed down to the minimal follow/escape geometry that still preserves smooth exit, smooth re-entry, and no visible snapback during long streamed responses.
|
I want you to perform the gatekeeper checks for latest PR state check for regressions |
|
Gatekeeper review for latest PR state completed. Request understood: review PR #375 ruthlessly for regressions and better implementation options. I treated this as review-only and did not make code changes. Status: request changes Findings:
Implementation quality notes:
Verification:
Gatekeeper verdict: do not merge as-is. The PR likely fixes one scroll snapback symptom, but it regresses the long-stream hold control and introduces inconsistent follow-state semantics. Fix the state reset/API issues and either restore or intentionally remove the hold feature/UI before this should pass review. -- |
Summary
VirtualFollowList.packages/ui/src/components/virtual-follow-list.tsxonly.Testing
npm run typecheck --workspace @codenomad/uinpm run build --workspace @codenomad/uiReview Notes