feat: account linking wallet picker UI & improved linking/error feedback#2470
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
lwin-kyaw
reviewed
May 20, 2026
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 8b6e46d. Configure here.
chaitanyapotti
approved these changes
May 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Jira Link
Description
This PR adds a dedicated wallet picker flow for account linking in the modal SDK, along with improved success/error feedback UI for all account linking and switching operations.
New: Parameterless
linkAccount()with built-in wallet pickerlinkAccount(params?)—connectorNameis now optional in@web3auth/modal. When omitted, the modal opens a dedicated wallet picker (reusing the ConnectWallet screen) so the user can select which wallet to link without the app needing to know which wallets are available.pickerActivestate flag inAccountLinkingStateroutes wallet selection from the ConnectWallet UI into the linking flow instead of the regular login flow.LoginModalmethods:startAccountLinkingPicker,endAccountLinkingPicker.Improved success & error feedback
LoginModalmethods:startConnectingLoader,markLoaderAuthorizing,endConnectingLoader— provide a unified way to show connecting → success/error states after account linking and switching.formatAccountLinkingErrorMessagemapsAccountLinkingErrorcodes to human-readable messages (distinguishing link vs. unlink failures).messageprop to display dynamic post-loading messages (success or error) pulled from i18n or passed as raw strings.ConnectedStatusandErroredStatusin the Loader now guard against empty messages so no empty<p>is rendered.ConnectWallet UI enhancements
ConnectWalletHeaderaccepts a newisLinkingprop: hides the back button and shows "Link Your Wallet" instead of "Connect Your Wallet" when in picker mode.modal.linkYourWalletadded across all 11 locale files.How has this been tested?
Screenshots (if appropriate)
Linking with connectorName
linking-metamask-success.mov
Linking with wallet picker
linking-wallet-picker.mov
Linking Error
linking-wallet-connect-failed.mov
Types of changes
Checklist
Note
Medium Risk
Modifies modal account-linking/switching control flow and loader state handling, which can affect connection UX and cleanup behavior (especially around WalletConnect). API surface changes (
linkAccountparams optional) may impact downstream type expectations in modal integrations.Overview
Adds a dedicated wallet-picker flow for account linking in
@web3auth/modal:linkAccount()now accepts optional params and, whenconnectorNameis omitted, opens the modal’s wallet list in a newpickerActivemode that routes the user’s selection into the linking flow.Refactors account link/switch UX to use new
LoginModalloader helpers (startConnectingLoader,markLoaderAuthorizing,endConnectingLoader), improves cleanup/cancel behavior, and standardizes error messaging (including link vs unlink formatting). UI updates adjust ConnectWallet header/back behavior during linking, pass translated post-loading messages intoLoader, and add new i18n strings across locales; demo Vue app adds a “link with picker” button.Also updates no-modal wrappers/types so
linkAccounttakes optional params in shared interfaces/hooks, while@web3auth/no-modalenforcesconnectorNameat runtime.Reviewed by Cursor Bugbot for commit 33632c2. Bugbot is set up for automated code reviews on this repo. Configure here.