Skip to content

feat(auth): add a signupEmail action that opens the registration form directly - #6604

Merged
tsahimatsliah merged 2 commits into
mainfrom
signup-email-deep-link-dailydotdev
Sep 3, 2026
Merged

feat(auth): add a signupEmail action that opens the registration form directly#6604
tsahimatsliah merged 2 commits into
mainfrom
signup-email-deep-link-dailydotdev

Conversation

@tsahimatsliah

@tsahimatsliah tsahimatsliah commented Sep 3, 2026

Copy link
Copy Markdown
Member

What

Adds one member to OnboardingActions and its mapping:

SignupEmail = 'signupEmail'      AuthDisplay.Registration

Two lines in packages/shared/src/components/auth/common.tsx. The Record<OnboardingActions, AuthDisplay> type makes the enum member and its mapping a pair, so it cannot be half-added. Nothing existing changes behaviour — signup still means what it meant.

Why

daily.dev/ is getting a signup in the hero (recruiter-landing#519), behind a flag. It carries its own Google and GitHub buttons plus a "Continue with email", and that last one has nowhere good to send people.

In the app, "Continue with email" swaps the screen in place — AuthDisplay.DefaultAuthDisplay.Registration — so no URL reproduces it. The closest existing action, ?action=signup, maps to AuthDisplay.Default: the provider buttons all over again, plus an email field, shown to someone who has just chosen email. It works, but it asks the same question twice.

With this action the marketing page can link straight to the account-details form, and its button behaves like the app's.

While you're in here — an unrelated bug this does not fix

/onboarding renders a completely blank page for any action it does not recognise. Verified on production just now:

URL Result
/onboarding?action=signup renders normally
/onboarding?action=signupEmail (before this PR) blank body
/onboarding?action=banana blank body

The cause looks like packages/webapp/pages/onboarding.tsx: the funnel effect reads the raw router.query.action and returns early on any truthy value, so setFunnelReady(true) never runs — while useOnboardingAuth only sets isAuthenticating for a recognised action, so the auth branch does not render either. Neither path takes it, and the component falls through to return null.

That bites a stale link, a typo, or a capitalised ?action=Signup in a campaign URL. Left alone here because it is a change to the funnel's own control flow and deserves its own review — happy to send that separately if you want it.

Test plan

  • ?action=signupEmail opens the account-details form (email, name, password, username, experience, captcha).
  • ?action=signup, ?action=login, ?action=verify, ?action=recover, ?action=changePassword unchanged.
  • packages/shared typechecks.

🤖 Generated with Claude Code

Preview domain

https://signup-email-deep-link-dailydotd.preview.app.daily.dev

… directly

`?action=signup` maps to `AuthDisplay.Default`, which is right for a link that
means "sign up": social buttons plus an email field. It is wrong for one that
means "sign up WITH EMAIL", which is what the marketing homepage's hero now
needs — that hero has its own provider buttons, so a visitor who presses
"Continue with email" there is asked to choose all over again, and only after
handing over an email a second time reaches the account-details form.

`signupEmail` maps to `AuthDisplay.Registration`, so the link lands where the
app's own "Continue with email" button lands.

Two lines and a comment; the `Record<OnboardingActions, AuthDisplay>` type makes
the enum member and its mapping a pair, so this cannot be half-added. Nothing
existing changes behaviour — `signup` still means what it meant.

Consumed by dailydotdev/recruiter-landing, the homepage hero signup experiment.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
daily-webapp Ready Ready Preview Sep 3, 2026 7:24pm UTC
1 Skipped Deployment
Project Deployment Actions Updated
storybook Ignored Ignored Sep 3, 2026 7:24pm UTC

Request Review

@tsahimatsliah
tsahimatsliah merged commit 5562996 into main Sep 3, 2026
12 checks passed
@tsahimatsliah
tsahimatsliah deleted the signup-email-deep-link-dailydotdev branch September 3, 2026 19:26
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.

2 participants