fix: finish windows ssh setup after bridge exit - #3719
Conversation
|
@coderabbitai review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe Windows PowerShell bridge now starts applications with Suggested reviewers: Merge Risk: ⚪ Minimal · up to Windows SSH bridge launchers now return the launched application's exit code without waiting for its descendants, with coverage for the cold-start behavior. No merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
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 |
|
✅ Action performedReview finished.
|
Greptile SummaryThis PR changes the Windows PowerShell bridge launcher to wait for only the launched bridge process rather than its persistent descendants while preserving the bridge exit code.
Confidence Score: 5/5The PR appears safe to merge; the revised launcher preserves the bridge exit status without waiting for the long-lived server descendant, and the regression-test cleanup is now bounded. No actionable new defects remain. Both previous test-cleanup findings are resolved in the current code: temporary PID paths are collision-resistant, and timeout cleanup terminates and waits for the launcher before PID-file reads or assertions.
|
| Filename | Overview |
|---|---|
| src/remote/attach.rs | Replaces descendant-aware Start-Process waiting with handle-based bridge-only waiting and adds bounded Windows lifecycle coverage. |
Sequence Diagram
sequenceDiagram
participant PS as PowerShell launcher
participant B as Bridge process
participant S as Server descendant
PS->>B: Start-Process -PassThru
B->>S: Start persistent server
B-->>PS: Exit with bridge status
PS->>B: WaitForExit()
PS-->>PS: Read bridge ExitCode
Note over S: Continues running after bridge exit
PS-->>PS: Exit with bridge status
Reviews (4): Last reviewed commit: "test: clean up bridge launcher before pi..." | Re-trigger Greptile
|
@coderabbitai review |
|
✅ Action performedReview finished.
|
e6f817c to
1466e7e
Compare
|
@coderabbitai review |
|
✅ Action performedReview finished.
|
1466e7e to
0a3b882
Compare
0a3b882 to
c5c339c
Compare
|
@coderabbitai review |
|
✅ Action performedReview finished.
|
Cold
herdr machine addagainst Windows SSH started the server but never completed: PowerShell'sStart-Process -Waitkept waiting for the persistent server descendant after the bridge exited. Wait only for the bridge process, retaining its handle so Windows PowerShell 5.1 preserves the exit code. This applies to both saved and direct bridge launchers.Stacked on #3715. No protocol or daemon-launch-policy changes.
Validation:
just checkpassed.refs #3651