feat(web): reveal files and worktrees in the system file manager - #9373
feat(web): reveal files and worktrees in the system file manager#9373flamboh wants to merge 7 commits into
Conversation
b5f115b to
92bec46
Compare
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR introduces a new cross-surface file-manager and worktree workflow, including platform-specific path resolution and shell RPC integration. Its broad production UI impact and substantial new runtime logic warrant human review. Notes:
You can add or adjust custom eligibility rules. Learn more. |
3769e41 to
4f4cabe
Compare
4af2c7d to
ffb69d9
Compare
887c561 to
0b4efd3
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (13)
Included review availability: Your plan provides up to 10 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe change centralizes file-manager action resolution for local environments. It adds open and reveal actions to thread menus, file-browser entries, file tabs, and chat markdown links. It also adds platform labels, cross-platform path resolution, command error handling, and tests. ChangesFile manager action resolution
Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to The file-manager actions are consistently capability-gated, resolve workspace paths through the shared helper, and handle command failures across the added surfaces. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Note
🤖 GPT-6 on behalf of Oliver
Problem
The file-manager reveal action added for composer file links in #7140 keeps its environment checks, platform-specific label, and shell request inside
ChatMarkdown. Other workspace-path surfaces cannot reuse it, so users have to copy a path and find it manually from the Files panel, an open file tab, or a thread.Fix
Factor the server-backed action into a shared
useFileManagerActionhook. It resolves the correct local environment, keeps its actions stable across unrelated renders, uses the server's Finder/File Explorer/Files label, and stays hidden when the environment is remote or lacks reveal support.Use its reveal operation from the existing composer file-link menu, file and folder rows in the Files panel, and open file-tab menus. The modern thread menu shared by the sidebar and chat header instead opens the worktree directory itself, or the project directory when the thread has no worktree. The legacy sidebar uses the same action for its thread menus.
UI Changes
Cap.2026-09-03.at.00.32.58.mp4
Verification
git diff --checkpassed.Changes prepared by GPT-5.6 Sol through Codex in T3 Code, with GPT-5.6 Luna subagents implementing the menu integrations and an independent GPT-5.6 Sol review pruning low-signal tests. Legacy-sidebar support and the rebase were completed by GPT-5.6 Sol through Codex, reviewed by GPT-6.
Note
Add environment-aware file-manager reveal/open actions across web UI
fileManagerActionForPresentationbuilds open and optional reveal operations from environment presentation, anduseFileManagerAction/useFileManagerActionForEnvironmentexpose reactive per-environment lookupsresolveLiteralFilePathjoins relative paths against the workspace root using POSIX or Windows separators without interpreting tilde or terminal-link syntaxMacroscope summarized 0b4efd3.
Summary by CodeRabbit
New Features
Bug Fixes