Skip to content

refactor(onboarding): remove onboarding v1 unleash feature flags#3458

Merged
baktun14 merged 2 commits into
mainfrom
refactor/onboarding-remove-onboarding-v1-flags
Jul 21, 2026
Merged

refactor(onboarding): remove onboarding v1 unleash feature flags#3458
baktun14 merged 2 commits into
mainfrom
refactor/onboarding-remove-onboarding-v1-flags

Conversation

@baktun14

@baktun14 baktun14 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Why

The onboarding v1 redesign shipped behind Unleash feature flags. Now that it's released in prod those flags are always-on and the flag branches are dead code. Removing them keeps the auth, deployment-creation, onboarding, and first-purchase flows free of stale conditionals and lets the switches be retired in Unleash.

Fixes CON-655

What

Removes the five onboarding v1 flags and the code branches gated behind them, so each gated behavior becomes the default (no old fallback path left behind):

  • onboarding_redesign_v1
  • console_embedded_login
  • console_auth_passwordless
  • console_auth_password_escape_hatch
  • first_purchase_bonus

deploy-web

  • /login always renders the embedded AuthPage; passwordless is the default auth, ?auth=password escape hatch is permanent; dead getAuthRedirectDestination removed.
  • Lease-based onboarding gate, configure-flow routing, $1 credit auth subtext, and stripped onboarding chrome are now unconditional; dead WalletBasedGate and the two SSR flag guards removed.
  • /deploy-linux unconditionally redirects to /new-deployment/configure?vm=true (unchanged behavior vs prod today).
  • First-purchase bonus alert + onboarding-picker copy always render.

apps/api

  • Removed the ONBOARDING_REDESIGN_V1 and FIRST_PURCHASE_BONUS flag constants and their backend gates (bid-screening, wallet-initializer trial start, first-purchase bonus + offer services).
  • Removing the trial-start branch retires the now-dead trial-start 3DS path: #validatePaymentMethod, StripeService.validatePaymentMethodForTrial, Requires3DSResult, and the /v1/start-trial 202 response + schema. 3DS on real credit purchases (AddCreditsForm) is untouched.

Tests

  • Updated unit specs to the default-only behavior; deleted obsolete flag-off cases. Full suites pass (api 1106, deploy-web 2735).
  • E2E: deleted legacy-only specs, un-skipped redesign specs, removed the flag-probe helper.

Notes

  • Unleash deletion is a manual, post-deploy step — the flags must stay ON in prod until this deploys; delete them from Unleash only once this code is live.

Deferred (separate follow-ups, not in scope here)

  • /signup legacy onboarding 3DS consumers (PaymentMethodContainer/PaymentMethodStep, useCreateManagedWalletMutation) are reachable and not flag-gated; their 3DS branches are now dead-but-harmless.
  • StripeService.createTestCharge is now production-unused (separable cleanup).
  • Deeper deploy-linux adaptation to the new flow — tracked in the Console Redesign v2 project.

Summary by CodeRabbit

  • Changes
    • Trial start always returns the standard (non-3DS-required) wallet response—no 3D Secure–required outcome.
    • First-purchase bonus messaging and alerts are now determined by eligibility, not rollout toggles.
    • Login auth mode is driven by ?auth=password (passwordless remains the default).
    • Deployment and onboarding redirects now rely on route/query parameters instead of rollout flags.
    • Bid screening always fetches upstream providers (no empty-provider short-circuit).

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 03205996-7e7b-4625-8de6-e64d0f6c47a3

📥 Commits

Reviewing files that changed from the base of the PR and between 029fb17 and 1cbca03.

⛔ Files ignored due to path filters (1)
  • apps/api/test/functional/__snapshots__/docs.spec.ts.snap is excluded by !**/*.snap
📒 Files selected for processing (53)
  • apps/api/src/bid-screening/routes/bid-screening.router.ts
  • apps/api/src/billing/controllers/wallet/wallet.controller.spec.ts
  • apps/api/src/billing/http-schemas/stripe.schema.ts
  • apps/api/src/billing/http-schemas/wallet.schema.ts
  • apps/api/src/billing/routes/start-trial/start-trial.router.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.ts
  • apps/api/src/billing/services/stripe/stripe.service.spec.ts
  • apps/api/src/billing/services/stripe/stripe.service.ts
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.spec.ts
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.ts
  • apps/api/src/core/services/feature-flags/feature-flags.ts
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.spec.tsx
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.spec.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.tsx
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.spec.tsx
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.tsx
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.spec.tsx
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.spec.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.spec.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.tsx
  • apps/deploy-web/src/components/new-deployment/TemplateList.spec.tsx
  • apps/deploy-web/src/components/new-deployment/TemplateList.tsx
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.spec.tsx
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.tsx
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.spec.tsx
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.tsx
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.spec.ts
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.ts
  • apps/deploy-web/src/hooks/useOnboardingChrome.spec.ts
  • apps/deploy-web/src/hooks/useOnboardingChrome.ts
  • apps/deploy-web/src/pages/deploy-linux/index.tsx
  • apps/deploy-web/src/pages/login/index.tsx
  • apps/deploy-web/src/pages/new-deployment/configure/[[...dseq]].tsx
  • apps/deploy-web/src/pages/onboarding/index.tsx
  • apps/deploy-web/src/types/feature-flags.ts
  • apps/deploy-web/tests/ui/actions/auth.ts
  • apps/deploy-web/tests/ui/actions/feature-flags.ts
  • apps/deploy-web/tests/ui/configure-deployment-flow.spec.ts
  • apps/deploy-web/tests/ui/deploy-from-a-template.spec.ts
  • apps/deploy-web/tests/ui/deploy-linux.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-alerts.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-deployment.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-onboarding.spec.ts
  • apps/deploy-web/tests/ui/onboarding-gate.spec.ts
  • apps/deploy-web/tests/ui/onboarding-journey.spec.ts
  • apps/deploy-web/tests/ui/onboarding-picker-unlock-trial.spec.ts
  • apps/deploy-web/tests/ui/pages/PlainLinuxPage.tsx
💤 Files with no reviewable changes (15)
  • apps/deploy-web/tests/ui/managed-wallet-deployment.spec.ts
  • apps/deploy-web/tests/ui/configure-deployment-flow.spec.ts
  • apps/deploy-web/tests/ui/deploy-linux.spec.ts
  • apps/deploy-web/tests/ui/onboarding-picker-unlock-trial.spec.ts
  • apps/api/src/billing/http-schemas/wallet.schema.ts
  • apps/deploy-web/tests/ui/onboarding-journey.spec.ts
  • apps/deploy-web/src/types/feature-flags.ts
  • apps/deploy-web/tests/ui/pages/PlainLinuxPage.tsx
  • apps/deploy-web/tests/ui/managed-wallet-alerts.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-onboarding.spec.ts
  • apps/deploy-web/tests/ui/actions/feature-flags.ts
  • apps/api/src/billing/controllers/wallet/wallet.controller.spec.ts
  • apps/api/src/bid-screening/routes/bid-screening.router.ts
  • apps/deploy-web/tests/ui/deploy-from-a-template.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.ts
🚧 Files skipped from review as they are similar to previous changes (34)
  • apps/deploy-web/src/pages/deploy-linux/index.tsx
  • apps/api/src/billing/routes/start-trial/start-trial.router.ts
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.spec.tsx
  • apps/api/src/billing/http-schemas/stripe.schema.ts
  • apps/deploy-web/src/pages/onboarding/index.tsx
  • apps/deploy-web/tests/ui/actions/auth.ts
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.ts
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.spec.tsx
  • apps/api/src/core/services/feature-flags/feature-flags.ts
  • apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.tsx
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.spec.tsx
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.spec.tsx
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.tsx
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.spec.ts
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.spec.tsx
  • apps/api/src/billing/services/stripe/stripe.service.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.spec.ts
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.tsx
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.ts
  • apps/deploy-web/src/hooks/useOnboardingChrome.ts
  • apps/api/src/billing/services/stripe/stripe.service.ts
  • apps/deploy-web/tests/ui/onboarding-gate.spec.ts
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.spec.tsx
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.tsx
  • apps/deploy-web/src/components/new-deployment/TemplateList.tsx
  • apps/deploy-web/src/hooks/useOnboardingChrome.spec.ts
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.ts
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.spec.tsx
  • apps/deploy-web/src/components/new-deployment/TemplateList.spec.tsx
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.spec.ts
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.tsx

📝 Walkthrough

Walkthrough

The PR removes onboarding and first-purchase feature-flag gates, eliminates trial payment-method validation and 3DS response handling, and makes authentication and deployment routing unconditional or query-driven. Related API and UI tests are updated accordingly.

Changes

Legacy gate removal

Layer / File(s) Summary
API screening and flag removal
apps/api/src/bid-screening/..., apps/api/src/core/services/feature-flags/...
Bid screening no longer short-circuits when onboarding is disabled, and obsolete API flags are removed.
Trial and payment contract simplification
apps/api/src/billing/http-schemas/..., apps/api/src/billing/routes/..., apps/api/src/billing/services/stripe/..., apps/api/src/billing/services/wallet-initializer/...
Trial startup always returns a 200 wallet response; 3DS schemas, payment-method validation, and related tests are removed.
First-purchase eligibility
apps/api/src/billing/services/first-purchase-bonus*/...
First-purchase bonus resolution relies on transaction history rather than a feature flag.
Authentication and deployment routing
apps/deploy-web/src/components/auth/..., apps/deploy-web/src/components/new-deployment/..., apps/deploy-web/src/hooks/useNewDeploymentUrl/..., apps/deploy-web/src/pages/...
Auth mode is query-driven, while deployment redirects, VM routing, SDL uploads, and server routes no longer use onboarding redesign gating.
Onboarding and bonus UI
apps/deploy-web/src/components/onboarding/..., apps/deploy-web/src/components/billing-usage/..., apps/deploy-web/src/hooks/useOnboardingChrome.ts
Lease-based onboarding, route-based chrome handling, and first-purchase bonus UI are no longer gated by removed flags.
UI test coverage and flag types
apps/deploy-web/src/types/feature-flags.ts, apps/deploy-web/tests/ui/...
Feature-flag skip setup and obsolete UI flows are removed, and remaining tests reflect unconditional routing.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

Suggested reviewers: ygrishajev

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/onboarding-remove-onboarding-v1-flags

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.


Comment @coderabbitai help to get the list of available commands.

@baktun14
baktun14 force-pushed the refactor/onboarding-remove-onboarding-v1-flags branch from 553abe1 to 39bf965 Compare July 17, 2026 20:11
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.46154% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.21%. Comparing base (a6c02d1) to head (1cbca03).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
apps/deploy-web/src/pages/deploy-linux/index.tsx 0.00% 2 Missing ⚠️
apps/deploy-web/src/pages/login/index.tsx 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3458      +/-   ##
==========================================
- Coverage   73.27%   72.21%   -1.07%     
==========================================
  Files        1133     1043      -90     
  Lines       29639    27191    -2448     
  Branches     7448     6950     -498     
==========================================
- Hits        21718    19636    -2082     
+ Misses       6975     6647     -328     
+ Partials      946      908      -38     
Flag Coverage Δ *Carryforward flag
api 86.25% <100.00%> (-0.03%) ⬇️
deploy-web 62.82% <87.50%> (-0.01%) ⬇️
log-collector ?
notifications 91.43% <ø> (ø) Carriedforward from a6c02d1
provider-console 81.38% <ø> (ø) Carriedforward from a6c02d1
provider-inventory ?
provider-proxy 86.42% <ø> (ø) Carriedforward from a6c02d1
tx-signer ?

*This pull request uses carry forward flags. Click here to find out more.

Files with missing lines Coverage Δ
...-bonus-offer/first-purchase-bonus-offer.service.ts 100.00% <100.00%> (ø)
...rst-purchase-bonus/first-purchase-bonus.service.ts 100.00% <ø> (ø)
.../api/src/billing/services/stripe/stripe.service.ts 82.70% <ø> (-0.39%) ⬇️
...s/wallet-initializer/wallet-initializer.service.ts 89.18% <100.00%> (+0.85%) ⬆️
...i/src/core/services/feature-flags/feature-flags.ts 100.00% <ø> (ø)
...ploy-web/src/components/auth/AuthPage/AuthPage.tsx 100.00% <100.00%> (ø)
.../src/components/auth/PasswordAuth/PasswordAuth.tsx 96.36% <100.00%> (-0.07%) ⬇️
...ponents/auth/PasswordlessAuth/PasswordlessAuth.tsx 94.33% <100.00%> (-0.11%) ⬇️
...irstPurchaseBonusAlert/FirstPurchaseBonusAlert.tsx 100.00% <100.00%> (ø)
...inuxToConfigure/RedirectDeployLinuxToConfigure.tsx 100.00% <100.00%> (ø)
... and 10 more

... and 90 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
`@apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.tsx`:
- Around line 36-39: Update the wallet predicate used by RequireOnboarding and
useOnboardingChrome to include isWalletConnected alongside hasManagedWallet &&
!!address, so connected external wallets are treated as having a wallet and
still query leases. Add external-wallet coverage to both adjacent specs, one for
each flow.
🪄 Autofix (Beta)

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

Run ID: dfec4d95-1a65-4537-ad31-4fdbb3558170

📥 Commits

Reviewing files that changed from the base of the PR and between 096d14f and 39bf965.

📒 Files selected for processing (52)
  • apps/api/src/bid-screening/routes/bid-screening.router.ts
  • apps/api/src/billing/controllers/wallet/wallet.controller.spec.ts
  • apps/api/src/billing/http-schemas/stripe.schema.ts
  • apps/api/src/billing/http-schemas/wallet.schema.ts
  • apps/api/src/billing/routes/start-trial/start-trial.router.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.ts
  • apps/api/src/billing/services/stripe/stripe.service.spec.ts
  • apps/api/src/billing/services/stripe/stripe.service.ts
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.spec.ts
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.ts
  • apps/api/src/core/services/feature-flags/feature-flags.ts
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.spec.tsx
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.spec.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.tsx
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.spec.tsx
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.tsx
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.spec.tsx
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.spec.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.spec.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.tsx
  • apps/deploy-web/src/components/new-deployment/TemplateList.spec.tsx
  • apps/deploy-web/src/components/new-deployment/TemplateList.tsx
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.spec.tsx
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.tsx
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.spec.tsx
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.tsx
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.spec.ts
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.ts
  • apps/deploy-web/src/hooks/useOnboardingChrome.spec.ts
  • apps/deploy-web/src/hooks/useOnboardingChrome.ts
  • apps/deploy-web/src/pages/deploy-linux/index.tsx
  • apps/deploy-web/src/pages/login/index.tsx
  • apps/deploy-web/src/pages/new-deployment/configure/[[...dseq]].tsx
  • apps/deploy-web/src/pages/onboarding/index.tsx
  • apps/deploy-web/src/types/feature-flags.ts
  • apps/deploy-web/tests/ui/actions/auth.ts
  • apps/deploy-web/tests/ui/actions/feature-flags.ts
  • apps/deploy-web/tests/ui/configure-deployment-flow.spec.ts
  • apps/deploy-web/tests/ui/deploy-from-a-template.spec.ts
  • apps/deploy-web/tests/ui/deploy-linux.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-alerts.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-deployment.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-onboarding.spec.ts
  • apps/deploy-web/tests/ui/onboarding-gate.spec.ts
  • apps/deploy-web/tests/ui/onboarding-journey.spec.ts
  • apps/deploy-web/tests/ui/onboarding-picker-unlock-trial.spec.ts
💤 Files with no reviewable changes (16)
  • apps/deploy-web/tests/ui/deploy-from-a-template.spec.ts
  • apps/deploy-web/tests/ui/onboarding-picker-unlock-trial.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-onboarding.spec.ts
  • apps/deploy-web/tests/ui/deploy-linux.spec.ts
  • apps/deploy-web/tests/ui/configure-deployment-flow.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-alerts.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-deployment.spec.ts
  • apps/deploy-web/tests/ui/actions/feature-flags.ts
  • apps/api/src/billing/http-schemas/wallet.schema.ts
  • apps/api/src/billing/http-schemas/stripe.schema.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.ts
  • apps/deploy-web/tests/ui/onboarding-journey.spec.ts
  • apps/api/src/billing/services/stripe/stripe.service.spec.ts
  • apps/api/src/billing/controllers/wallet/wallet.controller.spec.ts
  • apps/api/src/bid-screening/routes/bid-screening.router.ts
  • apps/deploy-web/src/types/feature-flags.ts

@baktun14
baktun14 force-pushed the refactor/onboarding-remove-onboarding-v1-flags branch 2 times, most recently from 14dfb3b to e114df0 Compare July 17, 2026 22:58
@baktun14
baktun14 force-pushed the refactor/onboarding-remove-onboarding-v1-flags branch from e114df0 to 029fb17 Compare July 21, 2026 10:05

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
`@apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.spec.tsx`:
- Around line 21-24: Add a distinct test case for the redeploy intent in the
RedirectMappableBuilderToConfigure spec, passing the redeploy query flag used by
the hasRedeploy guard and asserting replace is not called while the classic
content remains visible. Keep the existing gitProvider case focused on git
intents rather than combining both scenarios.
🪄 Autofix (Beta)

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

Run ID: 4c49692c-87cd-49a9-9d65-3bea263c01d5

📥 Commits

Reviewing files that changed from the base of the PR and between e114df0 and 029fb17.

⛔ Files ignored due to path filters (1)
  • apps/api/test/functional/__snapshots__/docs.spec.ts.snap is excluded by !**/*.snap
📒 Files selected for processing (53)
  • apps/api/src/bid-screening/routes/bid-screening.router.ts
  • apps/api/src/billing/controllers/wallet/wallet.controller.spec.ts
  • apps/api/src/billing/http-schemas/stripe.schema.ts
  • apps/api/src/billing/http-schemas/wallet.schema.ts
  • apps/api/src/billing/routes/start-trial/start-trial.router.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.ts
  • apps/api/src/billing/services/stripe/stripe.service.spec.ts
  • apps/api/src/billing/services/stripe/stripe.service.ts
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.spec.ts
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.ts
  • apps/api/src/core/services/feature-flags/feature-flags.ts
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.spec.tsx
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.spec.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.tsx
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.spec.tsx
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.tsx
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.spec.tsx
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.spec.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.spec.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.tsx
  • apps/deploy-web/src/components/new-deployment/TemplateList.spec.tsx
  • apps/deploy-web/src/components/new-deployment/TemplateList.tsx
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.spec.tsx
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.tsx
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.spec.tsx
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.tsx
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.spec.ts
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.ts
  • apps/deploy-web/src/hooks/useOnboardingChrome.spec.ts
  • apps/deploy-web/src/hooks/useOnboardingChrome.ts
  • apps/deploy-web/src/pages/deploy-linux/index.tsx
  • apps/deploy-web/src/pages/login/index.tsx
  • apps/deploy-web/src/pages/new-deployment/configure/[[...dseq]].tsx
  • apps/deploy-web/src/pages/onboarding/index.tsx
  • apps/deploy-web/src/types/feature-flags.ts
  • apps/deploy-web/tests/ui/actions/auth.ts
  • apps/deploy-web/tests/ui/actions/feature-flags.ts
  • apps/deploy-web/tests/ui/configure-deployment-flow.spec.ts
  • apps/deploy-web/tests/ui/deploy-from-a-template.spec.ts
  • apps/deploy-web/tests/ui/deploy-linux.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-alerts.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-deployment.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-onboarding.spec.ts
  • apps/deploy-web/tests/ui/onboarding-gate.spec.ts
  • apps/deploy-web/tests/ui/onboarding-journey.spec.ts
  • apps/deploy-web/tests/ui/onboarding-picker-unlock-trial.spec.ts
  • apps/deploy-web/tests/ui/pages/PlainLinuxPage.tsx
💤 Files with no reviewable changes (16)
  • apps/deploy-web/tests/ui/managed-wallet-onboarding.spec.ts
  • apps/deploy-web/tests/ui/onboarding-picker-unlock-trial.spec.ts
  • apps/api/src/bid-screening/routes/bid-screening.router.ts
  • apps/deploy-web/src/types/feature-flags.ts
  • apps/deploy-web/tests/ui/onboarding-journey.spec.ts
  • apps/deploy-web/tests/ui/deploy-linux.spec.ts
  • apps/deploy-web/tests/ui/pages/PlainLinuxPage.tsx
  • apps/deploy-web/tests/ui/managed-wallet-deployment.spec.ts
  • apps/api/src/billing/http-schemas/wallet.schema.ts
  • apps/deploy-web/tests/ui/actions/feature-flags.ts
  • apps/deploy-web/tests/ui/deploy-from-a-template.spec.ts
  • apps/api/src/billing/services/stripe/stripe.service.spec.ts
  • apps/deploy-web/tests/ui/managed-wallet-alerts.spec.ts
  • apps/api/src/billing/controllers/wallet/wallet.controller.spec.ts
  • apps/deploy-web/tests/ui/configure-deployment-flow.spec.ts
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.ts
🚧 Files skipped from review as they are similar to previous changes (35)
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.spec.tsx
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.spec.ts
  • apps/deploy-web/src/pages/onboarding/index.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectMappableBuilderToConfigure/RedirectMappableBuilderToConfigure.tsx
  • apps/deploy-web/src/hooks/useOnboardingChrome.ts
  • apps/api/src/billing/http-schemas/stripe.schema.ts
  • apps/deploy-web/src/components/billing-usage/FirstPurchaseBonusAlert/FirstPurchaseBonusAlert.spec.tsx
  • apps/deploy-web/src/components/new-deployment/RedirectDeployLinuxToConfigure/RedirectDeployLinuxToConfigure.tsx
  • apps/deploy-web/src/pages/login/index.tsx
  • apps/deploy-web/src/pages/new-deployment/configure/[[...dseq]].tsx
  • apps/deploy-web/src/pages/deploy-linux/index.tsx
  • apps/deploy-web/tests/ui/actions/auth.ts
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.tsx
  • apps/deploy-web/src/components/auth/PasswordlessAuth/PasswordlessAuth.spec.tsx
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.ts
  • apps/api/src/core/services/feature-flags/feature-flags.ts
  • apps/api/src/billing/services/first-purchase-bonus-offer/first-purchase-bonus-offer.service.spec.ts
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.tsx
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.spec.ts
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.tsx
  • apps/deploy-web/src/hooks/useNewDeploymentUrl/useNewDeploymentUrl.ts
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.spec.tsx
  • apps/api/src/billing/services/first-purchase-bonus/first-purchase-bonus.service.spec.ts
  • apps/deploy-web/src/components/new-deployment/TemplateList.tsx
  • apps/deploy-web/src/components/onboarding-picker/OnboardingPickerPage.spec.tsx
  • apps/deploy-web/src/components/auth/AuthPage/AuthPage.spec.tsx
  • apps/deploy-web/src/components/auth/PasswordAuth/PasswordAuth.tsx
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.tsx
  • apps/api/src/billing/routes/start-trial/start-trial.router.ts
  • apps/deploy-web/tests/ui/onboarding-gate.spec.ts
  • apps/deploy-web/src/hooks/useOnboardingChrome.spec.ts
  • apps/api/src/billing/services/wallet-initializer/wallet-initializer.service.ts
  • apps/api/src/billing/services/stripe/stripe.service.ts
  • apps/deploy-web/src/components/new-deployment/TemplateList.spec.tsx
  • apps/deploy-web/src/components/onboarding/RequireOnboarding/RequireOnboarding.spec.tsx

@baktun14
baktun14 force-pushed the refactor/onboarding-remove-onboarding-v1-flags branch 2 times, most recently from a57cf22 to 93319e5 Compare July 21, 2026 12:01
baktun14 added 2 commits July 21, 2026 13:11
Retire the onboarding v1 redesign feature flags now that the redesign is
released, making each gated behavior the default and removing the old
fallback paths:

- onboarding_redesign_v1
- console_embedded_login
- console_auth_passwordless
- console_auth_password_escape_hatch
- first_purchase_bonus

Covers deploy-web (flag checks, dead branches, SSR guards) and apps/api
(flag constants, backend gates). Removing the trial-start branch also
retires the now-dead trial-start 3DS path (validatePaymentMethodForTrial,
the /v1/start-trial 202 response and its schema); AddCreditsForm 3DS on
real purchases is unchanged.

Fixes CON-655
@baktun14
baktun14 force-pushed the refactor/onboarding-remove-onboarding-v1-flags branch from e528a86 to 1cbca03 Compare July 21, 2026 12:12
@baktun14
baktun14 added this pull request to the merge queue Jul 21, 2026
Merged via the queue into main with commit 3dea939 Jul 21, 2026
57 checks passed
@baktun14
baktun14 deleted the refactor/onboarding-remove-onboarding-v1-flags branch July 21, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants