fix(chat): scroll to voice-submitted messages - #147
Conversation
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
APPROVE. Fresh static review of all 5 files in the exact three-dot comparison a1a41ce...c5e7ff1 found no publishable issues. The review covered both transcript renderers, voice-submission identity and acknowledgement behavior, detached/pinned scrolling, appended assistant continuation, history/replay and rollback suppression, lifecycle and race behavior, and the added regression tests. Final self-check covered every changed user flow; accessibility; i18n/localization completeness; navigation and consent guards; async, error, never-completes, lifecycle, and race behavior; test honesty; design-system and project laws; duplicate overlap; and blocking-severity evidence/user effect. No UI copy, controls, navigation, consent boundary, or styling tokens changed. Supplied GitHub evidence was inspected: eight check runs were completed successfully, while combined commit status was pending with no legacy statuses; required checks still independently govern merge readiness. No local code, tests, builds, package managers, generated binaries, hooks, or project scripts were run.
Deterministic publication result: 0 blocking and 0 non-blocking finding(s) publishable; 0 duplicate(s) suppressed.
Pending checks: 1 check(s) are not complete.
This approval reflects the completed code review only; merge readiness remains governed by the repository's required checks.
Summary
Submitting a message through voice conversation could render the new user turn without scrolling the transcript to it. The conversation stayed above the new message until assistant output arrived, even though composer submissions follow immediately.
Newly appended voice submissions now use the same reattach behavior as composer submissions in both transcript renderers. Stable voice-utterance identity prevents history replay, failed-delivery rollback, and backend message-ID acknowledgement from causing unrelated or repeated jumps.
Reviewer-reproducible example
Manual verification
John confirmed in the Berd daily driver that a voice-submitted user turn scrolls into view immediately, before the assistant responds.