Skip to content

Make changed-files header sticky in chat timeline#2565

Merged
juliusmarminge merged 3 commits into
mainfrom
t3code/41a7fbc7
May 6, 2026
Merged

Make changed-files header sticky in chat timeline#2565
juliusmarminge merged 3 commits into
mainfrom
t3code/41a7fbc7

Conversation

@juliusmarminge
Copy link
Copy Markdown
Member

@juliusmarminge juliusmarminge commented May 6, 2026

Summary

  • Make the changed-files section header stick to the top while scrolling inside the message timeline.
  • Add visual separation for the sticky header with a border, background, blur, and shadow so it remains readable over content.

Testing

  • Not run (change is a small UI-only adjustment).
  • Not run: bun fmt
  • Not run: bun lint
  • Not run: bun typecheck

Note

Make changed-files header sticky in chat timeline

  • The AssistantChangedFilesSectionInner header now uses position: sticky with a top-2 offset and z-10, keeping it visible while scrolling through long file lists. A ::before pseudo-element fills the gap above the sticky boundary with the background color to avoid visual artifacts.
  • The timeline row container in MessagesTimeline.tsx switches from overflow-x-hidden to overflow-x-clip to 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-hidden to overflow-x-clip to avoid breaking sticky positioning.

Reviewed by Cursor Bugbot for commit 0923bf9. Bugbot is set up for automated code reviews on this repo. Configure here.

- Keep the assistant changed-files header visible while scrolling
- Add subtle card styling and blur for readability
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 02fc10df-c519-47fe-a68f-9e645c52013e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/41a7fbc7

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels May 6, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes May 6, 2026
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented May 6, 2026

Approvability

Verdict: 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.

Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

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.

Create PR

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.

Comment thread apps/web/src/components/chat/MessagesTimeline.tsx Outdated
- Switch timeline container overflow to clip
- Simplify the changed-files sticky header styling
@macroscopeapp macroscopeapp Bot dismissed their stale review May 6, 2026 20:12

Dismissing prior approval to re-evaluate 8986f5b

@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels May 6, 2026
Co-authored-by: codex <codex@users.noreply.github.com>
@github-actions github-actions Bot added size:XS 0-9 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 6, 2026
@juliusmarminge juliusmarminge merged commit 449e1aa into main May 6, 2026
12 checks passed
@juliusmarminge juliusmarminge deleted the t3code/41a7fbc7 branch May 6, 2026 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant