Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 31 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe CLI now detects explicit provider and profile selectors, propagates startup welcome suppression through interactive session setup, and initializes onboarding as completed when suppression is enabled. Tests cover parsing, visibility, persistence, and reopening behavior. ChangesStartup welcome suppression
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/cli/src/config/cliArgParser.ts`:
- Around line 183-190: Update validateRootArgs to normalize repeated profile and
profile-load selector values before applying the mutual-exclusion check, using
the existing pickLastRepeatedStringOption behavior or explicitly rejecting
repeats. Ensure commands combining --profile and --profile-load are consistently
detected even when either option produces an array.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: b03f5252-29f3-4346-bcd6-3ba8364fbc07
⛔ Files ignored due to path filters (1)
project-plans/issue3105/plan.mdis excluded by!project-plans/**
📒 Files selected for processing (10)
packages/cli/src/cli.tsxpackages/cli/src/config/cliArgParser.tspackages/cli/src/config/cliArgParser.welcomeSuppression.test.tspackages/cli/src/session/interactiveUI.tsxpackages/cli/src/session/nonInteractiveSession.tspackages/cli/src/ui/App.tsxpackages/cli/src/ui/AppContainerRuntime.tsxpackages/cli/src/ui/containers/AppContainer/hooks/useAppDialogs.tspackages/cli/src/ui/hooks/useWelcomeOnboarding.bun.tsxpackages/cli/src/ui/hooks/useWelcomeOnboarding.ts
|
Verification correction: the final full root test aggregator rerun was externally terminated with signal 15, as was the full lint aggregator; the prior thread reply saying the full test completed successfully should be disregarded. Post-remediation focused Bun behavior tests passed 20/20, and typecheck, format, build, exact-file ESLint, changed-file lint, ESLint guard, diff check, and the stepfun smoke test all passed. The issue behavior was also covered by the earlier merged-candidate workspace and tmux verification. |
TLDR
Explicit non-empty command-line provider/profile selectors now suppress only the automatic first-run welcome setup screen. The change preserves persisted onboarding state, folder-trust behavior, non-interactive dispatch, and manual reopening through /setup.
Dive Deeper
Local verification covered focused Bun tests, workspace tests, typecheck, formatting, build, changed-file lint, the ESLint guard, exact changed-file ESLint, tmux validation, and the stepfun-37 smoke test. Full root aggregators that received an external SIGTERM were covered by bounded workspace and exact-file runs; the observed unrelated timeout cases passed independently with the inherited JSP bootstrap variable cleared.
Two DeepThinker cycles and two local OCR cycles were completed. OCR findings were classified and all Blocker-Fix and In-scope-Fix items were addressed. The final OCR cycle emitted no code comments and terminated on an OCR file-read range error; the session record was recovered and inspected without launching a prohibited third cycle.
Reviewer Test Plan
Point LLXPRT_CODE_WELCOME_CONFIG_PATH at an isolated missing or incomplete welcome config.
Launch interactive LLxprt independently with --provider, --profile, and --profile-load; verify the automatic Welcome to llxprt screen is absent.
Launch with no selector and with --model alone; verify the welcome screen appears after folder trust.
After a selector-suppressed launch, run /setup; verify the welcome screen opens.
Exit and inspect the isolated welcome config; verify startup suppression did not persist completion.
From packages/cli, run:
LLXPRT_JSP_BOOTSTRAP_FILE= bun test ./src/config/cliArgParser.welcomeSuppression.test.ts ./src/ui/hooks/useWelcomeOnboarding.bun.tsx
Testing Matrix
Linked issues / bugs
Fixes #3105
Summary by CodeRabbit
New Features
Bug Fixes