feat(web): add pull request file sidebar - #6373
Conversation
|
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 Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Needs human review This PR introduces a new user-facing feature (file explorer sidebar) with new components, state management, and UI controls. New features adding user-facing behavior warrant human review. You can customize Macroscope's approvability policy. Learn more. |
|
can i not toggle the tree? |
You mean the file tree ? Yes you can toggle it on the header of the file tree: Screen.Recording.2026-08-12.at.11.49.39.PM.mov |
e2b0190 to
3402181
Compare
3402181 to
ab556c8
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ab556c8. Configure here.
I understood the question wrong but yes you can also toggle it on or off. Meaning hide it, its saved in local storage presiting between prs. |
not collapsing it, hiding it completely like on the CleanShot.2026-08-15.at.13.40.07.mp4 |
Screen.Recording.2026-08-15.at.2.02.44.PM.mov@juliusmarminge Yes we can, the tab which showed only file numbers now is the toggle my bad for not including the video initially just missed it |
|
okay that placement is bad. we should use the same pattern as the Files tab. |
|
yes try that |
There was a problem hiding this comment.
Two consistency findings in the new file-tree sidebar: a primitive height override that does not survive the responsive merge, and a duplicated Pierre tree theming contract. Details inline.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
One layout finding on the new file-tree sidebar. The previously flagged size=\"xs\" vs h-10 height conflict on the Load more button is still open and not repeated here.
Posted via Macroscope — UI Consistency
|
@juliusmarminge Made the changes whenever you have time have a look again 🫡 |
5337dc4 to
84058bf
Compare
There was a problem hiding this comment.
One finding: the new file-tree header uses a surface-subheader class that is not defined anywhere, so the row loses its shared subheader geometry.
Posted via Macroscope — UI Consistency
…ee.tsx Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>
|
@ShpetimA can you plz update the PR desc with the latest screenshots of all UI changes you made? Vids are preferred if possible |
|
@Bil0000 Updated with a video removed the old ui changes screenshot / videos |
|
@ShpetimA why have 2 of these? |
One expands the file tree the other the files. I think makes sense to have both since unrelated |
Could make the change to have one as both i dont think it would be bad aswell |
|
@Bil0000 Updated to one collapse/uncollapse button added a video in description |
There was a problem hiding this comment.
One finding: the load-more control's call-site overflow-hidden clips the Button primitive's coarse-pointer hit-target pseudo-element. Inline comment below.
Posted via Macroscope — UI Consistency
…ee.tsx Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>




What Changed
This pr adds a file-tree you can toggle using pierre to the pr viewer.
It also changes the default mode for files opened from prs from folded to opened.
Why
It adds better visibility on what changed in the pr.
You can see the file structure changes and easier navigation throughout the pr.
For the second point of swapping the default folded/opened state to me when you go in the pr code tab you go to review so intent is to view the files. Default should be open and if user wants he can fold.
UI Changes
Screen.Recording.2026-08-17.at.12.03.24.AM.mov
New Change one collapse/uncollapse button that does both filetree/files together:
Screen.Recording.2026-08-17.at.1.26.27.AM.mov
Checklist
Note
Medium Risk
Touches core PR diff UX (default expand, pagination, scroll coordination) but stays client-side with tests for fold and load-state logic; large PRs may feel heavier with expanded defaults.
Overview
Adds a Files sidebar on the pull request Code tab: a Pierre tree of changed paths (with git status), persisted show/hide via local storage, and Load more in the tree that shares the diff’s paginated loading with progress text that avoids false “complete” totals when hosts report lower bounds (e.g. GitLab
1000+).Selecting a file expands that diff if needed and scrolls the diff viewer to it (
viewerRef+revealFile). The toolbar expand/collapse all control now drives both per-file fold state and all tree directories throughPullRequestDiffFileTreeHandle.Default behavior change: file diffs start expanded (
DiffFoldPreferencereplaces the old “fold until toolbar”nulloverride). The toolbar file-count strip is dropped; caveat icons remain when relevant.Shared Pierre tree CSS/host styles move to
pierre-tree-theme.ts(also wired intoFileBrowserPanel). User docs note the new tree and default expansion.Reviewed by Cursor Bugbot for commit a4bb3c7. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add pull request file explorer sidebar to the code review view
PullRequestDiffFileTreecomponent that renders a path-first file tree for the loaded diff files, with status indicators, directory expansion state, and a paginated 'Load more' action with a progress bar.PullRequestCodeTabwith a toggle button; open/closed state persists inlocalStorageundert3code.pullRequestDiffFileTreeOpen.CodeViewHandleref onStyledDiffCodeView.FileBrowserPanel.isFileDiffCollapsednow defaults to expanded; thefoldOverridestate is replaced byfoldPreferencedefaulting to'expanded'.Macroscope summarized a4bb3c7.