Make changed-files header sticky in chat timeline#2565
Conversation
- Keep the assistant changed-files header visible while scrolling - Add subtle card styling and blur for readability
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
ApprovabilityVerdict: Approved Pure CSS changes making the changed-files header sticky in the chat timeline. No logic or runtime behavior changes - only presentational styling adjustments. You can customize Macroscope's approvability policy. Learn more. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Sticky positioning broken by ancestor overflow-x-hidden
- Replaced overflow-x-hidden with overflow-x-clip on the renderItem wrapper so it no longer creates a scroll container, allowing position:sticky to work correctly on the changed-files header.
Or push these changes by commenting:
@cursor push a6498ef17e
Preview (a6498ef17e)
diff --git a/apps/web/src/components/chat/MessagesTimeline.tsx b/apps/web/src/components/chat/MessagesTimeline.tsx
--- a/apps/web/src/components/chat/MessagesTimeline.tsx
+++ b/apps/web/src/components/chat/MessagesTimeline.tsx
@@ -234,7 +234,7 @@
// from TimelineRowCtx, which propagates through LegendList's memo.
const renderItem = useCallback(
({ item }: { item: MessagesTimelineRow }) => (
- <div className="mx-auto w-full min-w-0 max-w-3xl overflow-x-hidden" data-timeline-root="true">
+ <div className="mx-auto w-full min-w-0 max-w-3xl overflow-x-clip" data-timeline-root="true">
<TimelineRowContent row={item} />
</div>
),You can send follow-ups to the cloud agent here.
Reviewed by Cursor Bugbot for commit 7372c92. Configure here.
- Switch timeline container overflow to clip - Simplify the changed-files sticky header styling
Dismissing prior approval to re-evaluate 8986f5b
Co-authored-by: codex <codex@users.noreply.github.com>


Summary
Testing
bun fmtbun lintbun typecheckNote
Make changed-files header sticky in chat timeline
AssistantChangedFilesSectionInnerheader now usesposition: stickywith atop-2offset andz-10, keeping it visible while scrolling through long file lists. A::beforepseudo-element fills the gap above the sticky boundary with the background color to avoid visual artifacts.overflow-x-hiddentooverflow-x-clipto allow sticky positioning to work correctly within the row.Macroscope summarized 0923bf9.
Note
Low Risk
Low risk UI-only CSS changes; main risk is unintended layout/scroll behavior regressions around sticky positioning and overflow clipping.
Overview
Improves readability of the chat timeline’s Changed files section by making its header sticky while scrolling, with a background layer to prevent content bleed-through.
Adjusts the timeline row wrapper from
overflow-x-hiddentooverflow-x-clipto avoid breaking sticky positioning.Reviewed by Cursor Bugbot for commit 0923bf9. Bugbot is set up for automated code reviews on this repo. Configure here.