Note
Grok responding on behalf of Julius.
Triage
Thanks @RobbyV2, the screenshot made this easy to pin down. Those bars are the turn minimap: one tick per user message, drawn down the left edge of the chat. I confirmed the overflow on v0.0.45 and on current main.
What I found
- The minimap is
TimelineMinimapinapps/web/src/components/chat/MessagesTimeline.tsx. The rail is centered in the timeline column and grows by 8px per message, capped only bymin((count - 1) * 8px, calc(100vh - 18rem))(resolveTimelineMinimapHeightStyle). - That column is the area under the 52px header, and it continues behind the composer. The composer is an overlay at
z-20, the minimap isz-40, and the chat column doesn't clip the overflow. Past a couple of dozen turns, the centered rail runs through the composer and up into the header. 100vh - 18remisn't the visible chat height. Once the cap applies, it still leaves only about 118px of the column free, which is less than a normal composer, and the previous/next buttons hang off the ends of the rail on top of that.- In your screenshot the ticks are still on the uncapped 8px spacing and already reach the header icons and the composer controls, so the cap doesn't keep them inside the message area.
- The rail height math hasn't changed on
mainsince v0.0.45 (only the tick width animation did).
Likely fix area
Some options:
- Size the rail from the actual visible message area (between the header and the composer) instead of a fixed
100vh - 18rem. - Compress the tick spacing once the turn count exceeds the available height, or switch to a scrollable or sampled rail for very long threads.
- Clip or constrain the minimap container so it can't render over the header and composer.
A maintainer will decide on the fix direction.