Skip to content

Preserve selected plans through onboarding and calendar consent - #480

Closed
NewWorldVenture wants to merge 2 commits into
codex/strategy-onboarding-sync-access-20260909from
codex/strategy-pricing-onboarding-selection-20260910
Closed

NewWorldVenture wants to merge 2 commits into
codex/strategy-onboarding-sync-access-20260909from
codex/strategy-pricing-onboarding-selection-20260910

Conversation

@NewWorldVenture

@NewWorldVenture NewWorldVenture commented Sep 10, 2026 •

Copy link
Copy Markdown
Owner

A selected family plan now survives onboarding and calendar consent until the user deliberately opens its billing review. Completed accounts with a valid choice reach the review destination; unfinished setup and owned pending calendar activation keep their existing wizard path. Successful Finish offers a translated “Review selected plan” action alongside Start exploring. A failed or stale Finish cannot open review or clear the current draft, and no paid operation starts from the continuation.

The four-value plan hint stays separate from onboarding business data, trial/subscription writes and idempotency keys. Google and Microsoft continuation state carries only that validated hint while retaining its existing encrypted owner/provider/CSRF bindings and expiry. Success, cancellation and recoverable failure return the choice only when the continuation and current owner remain valid. Existing entitlement, dormant-connection and import-only boundaries are preserved.

Wizard actions submit a separate expected-owner assertion that the server checks against fresh authenticated context before onboarding writes. Retired Finish/Connect/preview callbacks stay inactive after account, family or selection changes, including a change away and back to the original value. Request-localized page metadata is added in all seven languages without account/provider reads.

This PR is stacked on #467 (codex/strategy-onboarding-sync-access-20260909). Integrate it with auth selection #479 and Billing review #481. The shared parser is identical to the auth branch; the Billing companion supplies the selected tier/interval display and explicit current-account/household confirmation. This slice does not complete or deploy the full pricing flow.

Validation at onboarding head 5f25c3189745205e56c54feef075e9051f5bc1da:

  • Local checks cover 319 tests across 13 suites, root TypeScript, scoped lint and all eight translation gates. They include owner assertions, strict plan parsing, unchanged onboarding payload/key behavior, calendar continuation, retired callbacks and eight request-metadata cases.
  • A controlled Chromium run against matching combined-source hashes passes 84 cases across four choices, seven locales and 320/390/1280 widths. Finish carries the owner assertion separately, excludes the review hint from the business payload, retains Start exploring and opens the exact review destination only after the user clicks it.
  • Four additional browser journeys confirm failed Finish preserves the draft, late completion is rejected after account or selection changes away and back, and an unmounted Finish cannot clear the draft. No JavaScript errors or external requests occurred.
  • Combined auth/onboarding checks pass 491 tests across 26 suites, the query audit (484 tables, 77 functions, 135 API routes) and translation gates. The integrated auth/onboarding/Billing rehearsal at bcbe500bc61ebf8b69e634d0f42b506acec86403 passes the full suite: 11,794 tests across 1,093 files with --maxWorkers=4.
  • The initial uncapped full run had 14 failures across seven unrelated AI suites, beginning with five-second timeouts and followed by shared-state failures. All 79 tests in those seven unchanged suites passed on a targeted rerun; the full four-worker rerun then passed without changing timeouts, assertions or source. The same combined source passes the production build (243 generated pages), generated Next.js TypeScript, changed-file ESLint, all eight translation gates, the query audit (484 tables, 77 functions, 135 API routes), and diff checks. Production deployment remains unverified.

These are controlled component/service/browser checks, not live Google/Microsoft consent, production schema or physical-device acceptance. No SQL, shared navigation or dependency changes are included; required core, mobile, database, E2E and Vercel checks now pass at the published head in CI run 34466394815. Ready for review; production deployment remains separate.

@vercel

vercel Bot commented Sep 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
bubaly Ready Ready Preview Sep 10, 2026 10:32am UTC

Request Review

Copy link
Copy Markdown
Owner Author

Shipped — this landed on main in #500 (merge commit f478dce5).

It stayed open only because its base is codex/strategy-onboarding-sync-access-20260909, a stacked branch that never moved, so the auto-close-on-merge never applied. Retargeting it to main is refused by GitHub with "There are no new commits between base branch 'main' and head branch 'codex/strategy-pricing-onboarding-selection-20260910'" — which is the confirmation that every commit here is already in main.

Closing as redundant, not rejected.


Generated by Claude Code

This branch was successfully deployed

1 active deployment
Preview — 5f25c318 Deployed Sep 10, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant