[Bug]: Chat threads can open or finish above the latest message
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/web
Steps to reproduce
- Open an existing thread with enough history to overflow the viewport.
- Scroll upward in one thread, then switch to another long existing thread.
- Alternatively, remain near the bottom while an agent produces a long response containing markdown, tool output, images, or other content whose height changes after rendering.
- Observe the timeline after hydration or the response finishes.
- Repeat the thread switch if necessary; the behavior is timing-dependent.
Expected behavior
Opening or switching to a thread should settle at its latest content.
While the reader is near the bottom, new agent content should continue following naturally. Intentionally scrolling upward should preserve the reading position, and returning to the bottom should restore follow behavior.
Actual behavior
The viewport can remain above the newest message after opening a thread or after a large response finishes rendering. The user must manually scroll down or use “Scroll to end” to continue the conversation.
Impact
Major degradation or frequent failure
Version or commit
main @ 02f4ce566
Environment
T3 Code web client on Windows. The behavior is provider-independent and affects the shared web timeline used by web and desktop.
Logs or stack traces
No associated exception or console error.
Screenshots, recordings, or supporting files
- Before: attach screenshot showing the viewport stranded above the latest response.
- Reproduction: attach a short recording of opening a long thread or completing a long response.
Workaround
Manually scroll to the bottom or use the “Scroll to end” button.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/web and trace the shared timeline used by the web and desktop clients, focusing on thread switching, hydration, response completion, and the “Scroll to end” behavior. Reproduce with a long thread and delayed content such as markdown, tool output, or images; done means opening or switching settles at the latest content, near-bottom readers continue following, and intentional upward scrolling preserves position.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 56/100