feat(onboarding): sticky hard-gate until first App Uploaded - #3285
feat(onboarding): sticky hard-gate until first App Uploaded#3285TorichanCapgo wants to merge 4 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
Craft / copy review (Shayan)Dialog (post-create) — mostly good, one preferred tweak:
Separate keys ( Must-fix before undraft
Optional
Craft LGTM after title preference + stripping 3284 assets. No Jose yet. |
Merging this PR will not alter performance
Comparing Footnotes
|
Post-create hard-gate dialog title per craft review on #3285.
Craft / copy — final ✅ ship@
Craft LGTM. Jose when undrafted + CI green (Charly call). |
|
Craft follow-up (for the record):
Body + Continue setup / Explore anyway unchanged. Shayan already re-checked and LGTM'd craft @ |
e73cbe5 to
9e753bb
Compare
Post-create hard-gate dialog title per craft review on #3285.
e8d0330 to
07b76f7
Compare
Re-check (craft wake)
|
Re-check (knip push)
|
4daa645 to
390fc8a
Compare
Re-check (pr-pushed wake)
|
Keep #3284 sidebar confirm after first-app create via pendingFirstUploadAppId until upload, Builder build started, or Explore anyway. Stop auto-granting dashboard exploration on create exits; use Shayan post-create dialog copy. Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
Post-create hard-gate dialog title per craft review on #3285.
… rebase Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
Leftover from sticky-gate rewrite on #3284; knip flagged it after the last import was dropped. Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
6301e1f to
5990e83
Compare
|
Rebased onto latest New HEAD: Method: cherry-picked the 4 #3285-only commits onto current #3284 tip (skipped replaying duplicated #3284 history). No manual conflict resolution needed — auto-merges only in:
Unique diff (6 files): Still draft, stacked on #3284 — waiting for #3284 to land first. |
|
Re-check (post-rebase)
|



Summary (AI generated)
AppOnboardingFlowfrom auto-callingallowOnboardingDashboardExplorationon create success / in-flow “explore” exits; set a stickypendingFirstUploadAppIdinstead.sidebar-finish-first-update-confirm-*), primary Continue setup, secondary Explore anyway.started_at; keep CLI + Builder setup CTAs unchanged.tests/onboarding-redirect.unit.test.tsfor pending set/clear, explore grant, and org-switcher exclusion.Motivation (AI generated)
PostHog Capgo 22029 (30d): ~51% of creators never reach
App Uploaded, and ~80% of those never-upload users fireonboarding_dashboard_explored. After create,allowOnboardingDashboardExplorationcleared the #3284 gate, so Dashboard / Apps / API keys / Scan became free escapes before a first bundle existed. This PR keeps users on first-bundle setup without redesigning upload or probe.Business Impact (AI generated)
Expected lift in create →
App Uploadedwithin 7d (baseline ~49%), and feweronboarding_dashboard_exploredevents before first upload. CLI copy → upload rate should not regress; Docs/Discord stay ungated like #3284.Test Plan (AI generated)
bunx vitest run tests/onboarding-redirect.unit.test.tspasses (sticky pending, explore clear, upload/builder clear, org-switcher excluded, storage reload)./app/new?resume=&step=setup; Explore anyway proceeds and stops confirming./app/newbefore an app exists./onboarding/organization?source=org-switcheris not hard-gated.build initCTAs still visible on setup.UX notes (AI generated)
Generated with AI
Stack note
Draft stacked on #3284 @
75dbda9(not merged yet). Rebase onto main after #3284 merges.cc @ — Shayan for craft/copy LGTM on post-create dialog.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.