Skip to content

feat(mosaic): add and verify user profile emails with a code - #9936

Closed
alexcarpenter wants to merge 1 commit into
carp/mosaic-user-profile-email-wireupfrom
carp/mosaic-user-profile-email-code
Closed

alexcarpenter wants to merge 1 commit into
carp/mosaic-user-profile-email-wireupfrom
carp/mosaic-user-profile-email-code

Conversation

@alexcarpenter

Copy link
Copy Markdown
Member

Description

Lets users add an email and verify it with a code in the Mosaic user profile. Second of three stacked PRs, on top of #9927.

  • The model creates the email and returns a verifier for it. getEmailVerifier does the same for an existing email, so an unverified email can be verified from its row menu.
  • The add-email controller is a small machine (email → sending → verify) with useForm driving the email and code fields, so field and API errors go through the same path as the other forms.
  • Adding is hidden when the email attribute is immutable, or when the user's active enterprise connection forbids more identifications (only when enterprise SSO is on).
  • The view props onSendEmailCode/onVerifyEmailCode become onCreateEmail/getEmailVerifier.
  • Closing the verify dialog opened from a row menu returns focus to that menu.

Link and enterprise SSO verification come in the next PR.

None of this is exported yet, so the changeset is empty.

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

@changeset-bot

changeset-bot Bot commented Sep 25, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 60ef779

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
clerk-js-sandbox Ready Ready Preview Sep 25, 2026 3:51pm UTC
swingset Ready Ready Preview Sep 25, 2026 3:51pm UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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

@alexcarpenter

Copy link
Copy Markdown
Member Author

Folded into #9937, which now covers the whole email wire-up against #9844. The commit is unchanged and still in that branch — closing to cut the stack down to two PRs, since nothing here had been reviewed separately.

This branch was successfully deployed

2 active deployments
Preview – swingset — 60ef7796 Deployed Sep 25, 2026 by vercel[bot]
Preview – clerk-js-sandbox — 60ef7796 Deployed Sep 25, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant