Skip to content

refactor(mosaic): split the user profile account section into profile, username, email, and phone sections - #10078

Draft
alexcarpenter wants to merge 1 commit into
carp/mosaic-user-profile-email-link-ssofrom
carp/mosaic-user-profile-accounts-section-breakup
Draft

alexcarpenter wants to merge 1 commit into
carp/mosaic-user-profile-email-link-ssofrom
carp/mosaic-user-profile-accounts-section-breakup

Conversation

@alexcarpenter

@alexcarpenter alexcarpenter commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Description

Stacked on #9937.

Splits the Mosaic UserProfile account section into four sections that match the composed exports: Profile (picture and name), Username, Email, and Phone. Each one has its own folder with its own model, view, and wrapper, built on the shared useUserProfileUserModel(). UserProfileProfilePanelView now takes only slots, in this order: profile, username, email, phone, connected accounts, enterprise accounts, Web3 wallets, danger.

Removed:

  • allowMultipleAccounts, along with the inline single-row layout it switched between.
  • onManageEmail and onManagePhone.

Code shared by the email and phone sections now sits flat in features/user-profile/, since it isn't a section: the contact list row, contact types/utils/messages, and the set-primary controller.

Swingset:

  • Has a page for each of the four sections, and the profile panel story is rebuilt from slots.
  • The live sandbox gets one route per section (/live/profile, /live/username, /live/email, /live/phone) in place of /live/account-section.

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 Oct 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: b753a84

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 Oct 5, 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 Oct 5, 2026 8:42pm UTC
swingset Error Error Oct 5, 2026 8:42pm UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository YAML (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Team
  • Run ID: 30986e60-45fd-4bc9-a649-c384912962b4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

This branch had an error being deployed

1 failed and 1 active deployments
Preview – swingset — b753a842 Deployed Oct 5, 2026 by vercel[bot]
Preview – clerk-js-sandbox — b753a842 Deployed Oct 5, 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