Skip to content

Onboarding: ChatGPT sign-in, Chief, apps, then intro chips - #48

Merged
shubhook merged 7 commits into
mainfrom
v0-b1-onboarding
Oct 20, 2026
Merged

shubhook merged 7 commits into
mainfrom
v0-b1-onboarding

Conversation

@shubhook

Copy link
Copy Markdown
Owner

Why

First-run still drove the old focus script ("What do you want me on first?" with A/B/C/D and Authorize cards), and sign-up still offered email/password beside ChatGPT. v0 should be: sign in with ChatGPT, meet Chief, optionally connect apps, then chat with a fixed intro and idea chips.

What

  • Sign in: ChatGPT is the default surface (Sign in with ChatGPT / Continue / Waiting for ChatGPT…). Email/password remains at ?with=email for password-recovery specs and servers that cannot use the loopback ChatGPT callback.
  • Onboarding steps: Drop agent and server-integrations steps. Meet Chief (6-color palette) → Connect your apps (catalog logos, skippable) → open chat. Progress dots on the three middle steps.
  • onboarding.introduce: Idempotent intro with a suggestions block. Copy: Hi, I'm {name}. I run on your own subscription and work on my own computer. [I can already reach ….] What should I take off your plate first? Chips: Summarize my inbox (or Plan my week), Find something for me, Make another bot.
  • Shared chips: suggestions message block in contracts; rendered in @milo/chat-ui on web and mobile. Tapping a chip sends it as the user message.
  • Focus script: Stop calling it from onboarding, Shell create-bot, and mobile. Leave API RPCs and focus-card rendering for old threads.
  • E2E: Offline ChatGptSignInEmulator in adapters + harness /__e2e/chatgpt/authorize. Helpers signup / completeOnboarding / sayHiToFirstBot kept; added signInWithChatGpt and signupWithEmail.

New UI copy (and why)

Copy Why
Sign in with ChatGPT Only v0 entry; signing up and signing in are the same action.
Continue / Waiting for ChatGPT… Start the OAuth flow and show progress without explaining OAuth.
Step N of 3 (dots aria-label) Accessible progress across sign-in, meet, apps.
Intro + three chips (above) Replace the focus script with a ready first message.
Skip for now / Connect / Connected / Connecting… Existing apps step wording, kept minimal.

Testing

  • pnpm exec vitest run apps/api/src/onboarding.test.ts packages/adapters/src/chatgpt-sign-in-emulator.test.ts packages/chat-ui/src/suggestions.web.test.tsx — pass
  • Typecheck on web, api, contracts, chat-ui, adapters, core — pass
  • Did not run desktop Playwright locally (CI owns that)
  • Link the CI E2E screenshot for the onboarding conversation intro + chips once available

Made with Cursor

shubhook and others added 7 commits October 21, 2026 01:19
…hips

Onboarding is now ChatGPT-only sign-in, meet Chief, optional apps, then an
idempotent intro with shared suggestion chips. Offline ChatGPT emulator keeps
E2E deterministic without calling OpenAI.

Co-authored-by: Cursor <cursoragent@cursor.com>
Import the missing sayHi helper, hover the Chief intro bubble, and drop
the focus-card delay test now that new bots no longer schedule it.

Co-authored-by: Cursor <cursoragent@cursor.com>
The sidebar preview repeats the intro text, so a page-wide getByText
hits strict mode. Limit the match to message-bot-bubble.

Co-authored-by: Cursor <cursoragent@cursor.com>
filter({ has }) matches from each row; a transcript-scoped locator nested
transcript inside the row and found nothing. Page-relative bubble text
matches the intro message without the sidebar preview winning.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Chief's intro shares its frame with suggestion chips, so the rail centers
on the full column and fails the beside-bubble mid check. Seed a short
scripted echo for layout measurements instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
The offline runtime wraps the prompt instead of repeating it alone, so an
exact bubble match never appears. Substring match still skips the user row.

Co-authored-by: Cursor <cursoragent@cursor.com>
@shubhook
shubhook merged commit 9fbb3cd into main Oct 20, 2026
13 checks passed
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