fix(onboard): preserve lifecycle channel selections - #9294
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: Your plan includes up to 12 reviews per rolling hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe messaging reuse and registry-resume paths now preserve lifecycle-recorded Discord channel selections when host credentials are absent. Tests cover sandbox reuse and completed registry resume, including the skipped messaging setup. ChangesSandbox messaging reuse
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The change preserves lifecycle channel selections while removing stale host-backed selections during reused-sandbox onboarding. No actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1⚔️ Resolve merge conflicts 💡
🧪 Generate unit tests (beta)
Comment |
PR Review Advisor — Blocking findings reportedAdvisor assessment: Blockers require maintainer review Model lanes
Second-opinion terminology and E2E selections are advisory. Live E2E does not run automatically for pull requests. 1 semantic terminology decisionTerminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.
E2E guidanceAdvisory only. A maintainer can dispatch the default E2E suite for the commit under review. Recommended E2E: None Manual-only E2E: 3 optional E2E recommendations
Blockers
|
d9eee7e to
83d59f3
Compare
|
✨ Thanks for the fix. This corrects the sandbox reuse path to prune unconfigured host-backed messaging channels before policy reconciliation, preventing stale egress preset re-application. Maintainers will review the onboarding, messaging, and policy changes. Related open issues: Related open issues: |
prekshivyas
left a comment
There was a problem hiding this comment.
Blocking correctness issue: reconcileReusedSandboxMessaging only filters selectedChannels; it leaves the durable plan active and computes changed from that unchanged plan (src/lib/onboard/machine/handlers/sandbox-messaging.ts:428-440). As a result, removing the last host input can return selectedChannels: [] with changed: false, so reuse does not persist an updated session/checkpoint and a later reader can re-enable the channel and its egress preset. Please mark the removed channel inactive/unselected/disabled in the plan, persist that plan, and cover the durable Ready-sandbox path. PR #9296 demonstrates the missing durable behavior and is currently the more complete candidate for #9283.
Cross-issue sweep: no additional candidate issues found.
Security review: secrets/credentials — PASS; input validation/sanitization — PASS; authentication/authorization — PASS; dependencies — PASS; error handling/logging — PASS; cryptography/data protection — PASS; configuration/security headers — PASS; security testing — PASS; system security — PASS.
Fixes NVIDIA#9283 Signed-off-by: Deepak Jain <deepujain@gmail.com>
Signed-off-by: Deepak Jain <deepujain@gmail.com>
7d380e9 to
57ad709
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
|
Rebased onto current main and narrowed this after #9327 landed. The duplicate retired-channel code and tests are gone; the remaining guards preserve explicit channel lifecycle selections in reused and completed-resume paths. Focused tests (30), typecheck, and lint pass. |
Summary
Preserve explicit messaging lifecycle selections when a reused sandbox or completed registry resume has no matching host credential. This complements the retired-channel filtering merged in #9327 without reintroducing any of that PR's now-upstream implementation or tests.
Related Issue
Fixes #9283
Changes
channels add,remove,start, orstopauthoritative in the reused-sandbox path.Type of Change
Quality Gates
DGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run validate:prpassed after refreshingorigin/mainwhen hooks were skipped or unavailablenpx vitest run --project cli src/lib/onboard/machine/handlers/sandbox-messaging.test.ts(30 passed)npm run typecheck:cli;npm run lintnpm run docsbuilds without warnings (doc changes only)Signed-off-by: Deepak Jain deepujain@gmail.com
Summary by CodeRabbit