Repository navigation
Keep new browser tabs on SSH routing after managed conversion - #26570
Conversation
26bcbff to
890075a
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (4)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review. 📝 WalkthroughWalkthroughThe renderer can resolve SSH browser routes from managed Orcad runtime deployments and track the associated SSH target generation. Partition preparation passes that generation to the main process, which validates the target and generation. A new end-to-end test covers routing and cookie continuity across conversion, stale-generation rejection, and reconnect behavior. CI source routing and the Docker conversion job now include the test. Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to The PR aims to preserve SSH-routed browser sessions through managed conversion. The supplied context reports successful conversion testing, and CI routes resolver changes to the dedicated Docker test; no actionable merge-blocking risk is established. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)✅ Passed checks (4 passed)Full details: Docstring CoverageExplanation Docstring coverage is 28.57% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 14 functions across 17 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 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 |
890075a to
d1586c1
Compare
d1586c1 to
ae8c3b5
Compare
ELI5
After converting an SSH workspace to a managed Remote host, new browser tabs tried to reach private websites from the desktop. They now keep using the original SSH connection and browser login.
What Changed
The existing browser route resolver recognizes a managed host’s registered SSH deployment. It keeps the same target/profile browser partition and reads the desktop’s connection status for that target. Preparing a route also checks the deployment registration generation, so a stale registration cannot silently route through a replaced target. Global and per-target browser routing settings still apply.
The real conversion test opens a new tab through the normal workspace action, reaches a remote-only website with its existing login cookie, reconnects SSH, and reaches it again. Its Docker test is assigned to the managed-server template CI lane.
Why
Reusing the existing SSH route and browser partition preserves the verified connection and cookie jar. A new tunnel or copied cookies would add another lifecycle to maintain. Only an explicit managed deployment establishes this association; a generic SSH gateway does not prove which host executes the workspace.
Linked Issue
Follow-up to the SSH consolidation integration in #26483; independently based on OrcaWin/phase35.
Visual Proof
Before: the new browser cannot reach the remote-only origin after conversion.
After: the new browser reaches the same origin with its original login.
Baseline failure and origin assertion · Passing conversion, cookie, reconnect, and stale-registration evidence
Testing
126 affected tests pass, covering route eligibility, connection phases, browser mount gates, registration validation, SOCKS routing, IPC, and CI selection. The CI-discovered deferred-browser fixture omission was corrected; all 23 lifecycle/route/gate tests and web typecheck pass. Full
pnpm tc, affected oxlint, changed-code quality, and a fresh Electron E2E build pass.Real hidden Electron checks on macOS with an owned Linux SSH host reproduce the baseline failure and pass with the fix. Host request records verify the original cookie and exact browser partition, including after reconnect. The host uses the unchanged installed managed-server template. Windows validation is left to CI.
Review
Self-reviewed target provenance, stale-registration handling, reconnect behavior, settings opt-outs, and compatibility of the optional local IPC field.
Agent skill upstream boundary
Notes
An older retained browser tab with unspecified placement can still be reassigned to an unsupported server browser during conversion. This PR fixes new and explicitly local browser pages; #26572 is the tested follow-up for retained pages and is stacked on this PR. No remote wire format changes are required.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)