Repository navigation
Description
https://github.com/pingdotgg/t3code/issues/4619### 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 a long conversation whose timeline is substantially taller than the viewport and genuinely scrollable.
- Scroll to the absolute end of the conversation (this may also occur when live-follow reaches the end after a turn finishes).
- Observe the distance between the bottom of the final message and the docked composer.
- Leave the view open. The excessive gap may later disappear after a subsequent layout/scroll update, so the issue is inconsistent and timing-sensitive.
Expected behavior
At the end of a long scrollable conversation, the final message should sit above the composer with only the normal intentional bottom inset. Large empty space can be reasonable when the whole conversation is shorter than the viewport, but not when the timeline has substantial scrollable content above it and is positioned at its end.
Actual behavior
The final message can be stranded hundreds of pixels above the composer, leaving a large blank region—sometimes close to most of the remaining viewport—even though the user is at the end of a long scrollable thread. The extra space is transient/inconsistent and later collapses on its own.
This makes the end of the conversation look as though content is missing or the scroll position is incorrect.
Impact
Minor bug or occasional failure
Version or commit
Current T3 Code build; exact version unknown.
Environment
T3 Code desktop-width chat surface, long Codex-backed conversation.
Logs or stack traces
No relevant logs observed; this appears to be a client-side layout/virtualization issue.Screenshots, recordings, or supporting files
A screenshot shows the last assistant paragraph near the upper portion of the viewport, the composer docked at the bottom, and an abnormally large blank region between them while at the end of a long thread.
Workaround
Waiting for a later layout/scroll update eventually causes the gap to disappear.
Investigation lead
The docked composer is an overlay whose measured height is passed to MessagesTimeline as LegendList's contentInsetEndAdjustment (apps/web/src/components/ChatView.tsx). Because the gap later self-corrects, this may involve a stale composer measurement or an end-inset / scroll-position recalculation in the virtualized list. This is only a hypothesis, not a confirmed root cause.

Activity
pbember commentedon Aug 22, 2026
Additional triage evidence:
What happened:
In the T3 Code desktop app, the active conversation frequently jumps to a blank area. Scrolling back up or switching to another session restores the conversation.
Steps to reproduce:
Diagnosis:
This appears consistent with the client-side timeline/virtualization issue described in #4619. The source uses LegendList for MessagesTimeline and passes composer end-inset measurements into the timeline. No matching renderer or server exception was found in the available local traces.
Environment:
T3 Code desktop app, nightly 0.0.34-nightly.20260822.1160
macOS darwin arm64 25.6.0
Node v26.7.0
Evidence:
The local server metadata configured port 3773, but the port was not responding during triage. No matching renderer/server error was found.
Workaround:
Scroll upward or switch to another session and return.
Screenshot:
The user supplied a screenshot showing the blank active-session area. Please attach it to this issue manually.
Filed by:
GPT-5.6 via T3 triage
t3dotgg commentedon Aug 27, 2026
Thanks for the detailed report. We believe this is fixed by PR #8052 and PR #8068.
Two later web LegendList patches remove concrete causes of excessive blank space below a thread. Reserved anchor space now shrinks as real row sizes become known, and temporary end padding is removed using the exact value stored by the browser. These changes match the reported gap that disappears after later layout updates. The August 22 failure predates both August 24 merges.
I'm closing this as fixed as part of an automated pass on all open issues. If this still happens in a current build that includes PR #8052 and PR #8068, please reply with the T3 Code version and fresh logs or reproduction details, and we can reopen it.
Merge upstream main into kevlingo/features
docs: point the scroll anchor note at the one open upstream issue