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 downloads in the Files panel) with new download logic, context menu additions, server-side asset handling changes, and HTTP header modifications. New features introducing user-facing behavior warrant human review. You can customize Macroscope's approvability policy. Learn more. |
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 c91a5e6. Configure here.

What Changed
Added a Download action to the right-click menu for files in the right-side Files panel.
Downloads use a signed attachment URL from the connected environment, preserving the original file contents and supporting binary and large files. The action works with both local and remote environments and is not shown for folders.
Why
The Files panel allowed users to open files, copy mentions, and add files to chat, but it did not provide a way to download them.
Using the existing signed asset endpoint keeps the implementation remote-ready and avoids the limitations of the text-preview API, which rejects binary files and truncates large files.
UI Changes
Before
After
Interaction
Screen.Recording.2026-07-30.at.12.48.17.mov
Checklist
Note
Medium Risk
Expands the signed asset endpoint to arbitrary workspace files when disposition is attachment, which is intentional but increases the sensitivity of correct path scoping and token validation on the existing asset security boundary.
Overview
Adds Download to the Files panel context menu for file entries (not folders). Downloads go through the existing signed asset API instead of the text-preview path, so binary and large files keep full contents.
The
workspace-fileasset resource now accepts optionaldisposition: "attachment. Issuing skips preview-only type checks for attachments, uses exact workspace-file claims with disposition encoded in the token, and resolution returns that disposition. Asset HTTP responses setContent-Disposition: attachmentandCache-Control: private, no-storefor downloads while preview assets stay cacheable.The web layer adds
downloadWorkspaceFile(requests the attachment URL, triggers download via a hidden anchor withtarget="_blank") and wires it fromFilePreviewPanelintoFileBrowserPanelviabuildFileBrowserContextMenuItems.Reviewed by Cursor Bugbot for commit 1a4f778. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add file download support to the Files panel
FileBrowserPanelvia a newonDownloadFileprop and built by a newbuildFileBrowserContextMenuItemshelper.downloadWorkspaceFilein downloadWorkspaceFile.ts, which requests a workspace-file asset URL withdisposition: "attachment"and triggers a browser download via a hidden anchor element.AssetAccessand the contracts schema to supportdisposition: "attachment"on workspace-file claims, encoding it in the signed token and returning it in the resolved asset.Content-Disposition: attachmentandCache-Control: private, no-storeresponse headers for attachment assets in the HTTP asset route handler.Macroscope summarized 1a4f778.