feat(desktop): reveal agent files in Finder - #7842
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: Not approved Macroscope's review found this PR not approvable — This PR introduces a new user-facing feature (reveal files in Finder/Explorer via context menu) with changes spanning IPC, shell integration, and UI layers. While well-structured and following existing patterns, new features introducing user-facing behavior warrant human review. You can add or adjust custom eligibility rules. Learn more. |
Agent file links can open in the editor or file panel and copy their paths, but the desktop app cannot reveal them in the system file manager.
This adds a small desktop
revealPathbridge backed by Electronshell.showItemInFolder. Agent file-link context menus now show the platform-native label (Finder, File Explorer, or Files) only when the thread belongs to the primary local environment and its platform matches the desktop host. Browser, mobile, WSL-mismatched, and remote environments keep the existing menu unchanged.Testing
vp test run apps/desktop/src/electron/ElectronShell.test.ts apps/web/src/localApi.test.ts apps/web/src/components/preview/fileExplorerLabel.test.ts— 17 passedUI evidence
Manual verification: restart the desktop dev app, right-click an agent file link, choose Reveal in Finder, and confirm Finder selects the file. Before/after screenshots are not included yet.
Generated with gpt-5.6-sol via the T3 Code Codex harness.
Note
Add
revealPathtoElectronShelland file-link context menu inChatMarkdownElectronShell.revealPathcallsElectron.shell.showItemInFolder, registered viaREVEAL_PATH_CHANNELin channels.ts and exposed ondesktopBridgein preload.tsDesktopBridgeandLocalApicontracts with optionalrevealPath(path: string): Promise<void>in ipc.ts;createBrowserLocalApiproxies it when the desktop bridge is presentMarkdownFileLinkin ChatMarkdown.tsx to show a platform-labeled 'Reveal' context-menu action only whencanRevealInFileManageris true, derived from matching the primary environment, OS, anddesktopBridge.revealPathavailabilitycanRevealInFileManagerlogic inChatMarkdownrelies onusePrimaryEnvironmentIdand OS comparison; mismatched or unavailable environment IDs silently hide the menu item rather than erroringMacroscope summarized 876006d.