Repository navigation
Keep migrated folder workspaces under their Remote host - #26535
Conversation
dd6322e to
c3b7217
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe folder workspace host ID helper now accepts execution host IDs for both the workspace and project group, and delegates host resolution to a shared helper. Sidebar tests cover collapse and reveal-key behavior for SSH and managed runtime hosts across three grouping modes. The end-to-end conversion test registers a repository path before seeding relay-era rows, then verifies that the converted runtime host appears in the sidebar and that its header hides and restores the folder. Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to No actionable issue remains; the change is ready to merge after normal checks. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)✨ Finishing Touches📝 Generate docstrings
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 |
ELI5
After an SSH machine moves to Remote, its folders should still appear under that machine. Orca's host filter knew their new owner, but the sidebar heading and reveal code still looked only at the old SSH connection. They could put a remote folder under “Local Mac” and collapse or reveal the wrong section.
What Changed
Use the existing folder host resolver for headings, counts and reveal as well as filtering. It respects the folder's explicit execution host, then its project group's host, before the existing SSH/default fallbacks.
Why
Keeping one ownership rule fixes the disagreement at its source. Patching only the label would leave collapse and reveal wrong. No migration or file-operation routing changes are needed: the folder already carries the correct Remote owner.
Linked Issue
Follow-up to the SSH → Remote rollout in #26483. This PR is based directly on
OrcaWin/phase35; it does not depend on #26531.Visual Proof
A normal first-launch upgrade from a relay-era profile, with a real local project and a real Linux SSH repository plus folder workspace. No injected failures.
Before: the migrated folder is incorrectly under Local Mac.
After: the folder sits beside its repository under the named Remote machine.
Testing
I manually tested these changes locally
Automated tests added/updated
Real macOS arm64 Electron client, hidden renderer, Debian arm64 SSH container, packaged Phase 3.5 server template. All launches use
ORCA_BACKGROUND_LAUNCH=1.The unchanged integration build fails the DOM assertion: the migrated folder's preceding machine header is
local, when its owner isruntime:<managed host>.The same upgrade journey passes 3 consecutive runs with this fix, including clicking the Remote header to collapse and expand its folder.
50 affected tests pass. Six new runtime-host collapse/reveal cases fail without the fix; the six equivalent SSH cases continue to pass.
pnpm tc,pnpm lint, the changed-code quality gate andelectron-vite build --mode e2epass.Full
typecheck:e2estill has existing errors in unrelated fixtures; none are reported in this PR's files. Windows execution was not performed locally. No OS-specific production behavior was added.ORCA_BACKGROUND_LAUNCH=1 SKIP_BUILD=1 ORCA_E2E_SSH_DOCKER=1 \ ORCA_E2E_ORCAD_CONVERT_HOST=docker \ ORCA_E2E_ORCAD_CONVERT_TEMPLATE=/absolute/path/to/orcad-template \ pnpm run test:e2e tests/e2e/ssh-orcad-auto-convert.spec.ts \ --workers=1 -g 'first connect after upgrading' --repeat-each=3The rendered assertion extends the existing Linux conversion CI test.
Unfixed failure log · Three passing upgrade runs
AI Disclosure
Review
Self-reviewed explicit host precedence, legacy SSH fallback, header counts, collapse/reveal and unchanged file-operation ownership.
Agent skill upstream boundary
Notes
No remote wire or persisted-data changes. No new colors, component styles or keyboard behavior. Git and provider-specific behavior are unchanged. Folder workspaces are exercised directly.
Checklist