Skip to content

feat: Telegram Login metrics#43052

Open
lwin-kyaw wants to merge 51 commits into
mainfrom
feat/telegram-login-metrics
Open

feat: Telegram Login metrics#43052
lwin-kyaw wants to merge 51 commits into
mainfrom
feat/telegram-login-metrics

Conversation

@lwin-kyaw
Copy link
Copy Markdown
Contributor

@lwin-kyaw lwin-kyaw commented May 29, 2026

Description

This PR updates Onboarding metrics with the Telegram login and fixes Onboarding unlock metrics.

Changelog

CHANGELOG entry: updated onboarding metrics for Telegram Login.
CHANGELOG entry: fixed onboarding unlock metrics.

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Changes when users leave unlock/rehydration (navigation now after metrics) and broad onboarding analytics strings; regressions could mis-route social import or skew Segment data.

Overview
This PR centralizes onboarding account_type analytics via a new Redux selector getAccountTypeForOnboardingMetrics (moved from seedless-onboarding/social-sync into ui/selectors/onboarding) and wires it through welcome, password creation, account status screens, completion, and unlock instead of local helpers or hardcoded values like 'social'.

Unlock/navigation behavior changes: successful unlock no longer navigates inside onSubmit/tryUnlockMetamask; callers pass navigateAfterUnlock so onboarding can finish metrics/traces before redirect. Social-import rehydration completion (side panel vs default, from redirect) runs in handleNavigationAfterUnlock on the onboarding unlock route.

Welcome/social login: early social events still build default_<provider> / imported_<provider> inline (state not ready yet); Telegram outdated-app failures use the active loginType. Social metrics opt-in/pna25 dispatch runs after the social login handlers. Tests were updated for the deferred navigation and loading-overlay expectations.

Reviewed by Cursor Bugbot for commit 1c6808e. Bugbot is set up for automated code reviews on this repo. Configure here.

hungtorus and others added 30 commits April 24, 2026 14:28
feat(onboarding): handle outdated Telegram app with dedicated error m…
@lwin-kyaw lwin-kyaw requested a review from a team as a code owner May 29, 2026 04:43
@github-actions
Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-onboarding Onboarding team label May 29, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented May 29, 2026

✨ Files requiring CODEOWNER review ✨

🔐 @MetaMask/web3auth (8 files, +100 -107)
  • 📁 ui/
    • 📁 pages/
      • 📁 onboarding-flow/
        • 📁 account-exist/
          • 📄 account-exist.tsx +3 -2
        • 📁 account-not-found/
          • 📄 account-not-found.tsx +3 -2
        • 📁 create-password/
          • 📄 create-password.tsx +6 -31
        • 📁 creation-successful/
          • 📄 creation-successful.tsx +4 -20
        • 📁 setup-passkey/
          • 📄 setup-passkey.tsx +1 -0
        • 📁 welcome/
          • 📄 welcome.tsx +41 -19
          • 📄 onboarding-flow.test.tsx +14 -12
          • 📄 onboarding-flow.tsx +28 -21

Comment thread ui/selectors/onboarding/onboarding.ts Outdated
Comment thread ui/pages/onboarding-flow/welcome/welcome.tsx Outdated
Comment thread ui/pages/onboarding-flow/welcome/welcome.tsx
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented May 29, 2026

Builds ready [e6145ba]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 21 pass · 🟡 4 warn · 🔴 0 fail)

Baseline (latest main): 51036da | Date: 5/2/2026 | Pipeline: 26621112161 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: -71%
  • loadNewAccount/total: -71%
  • bridgeUserActions/bridge_load_page: -70%
  • bridgeUserActions/bridge_load_asset_picker: -52%
  • bridgeUserActions/bridge_search_token: -24%
  • bridgeUserActions/total: -38%
  • loadNewAccount/load_new_account: -42%
  • loadNewAccount/total: -42%
  • bridgeUserActions/bridge_load_page: -19%
  • bridgeUserActions/bridge_load_asset_picker: -22%
  • bridgeUserActions/bridge_search_token: -31%
  • bridgeUserActions/total: -25%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 bridgeUserActions/INP: p75 296ms
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -32%
  • startupStandardHome/load: -30%
  • startupStandardHome/domContentLoaded: -30%
  • startupStandardHome/domInteractive: -38%
  • startupStandardHome/firstPaint: -15%
  • startupStandardHome/backgroundConnect: -38%
  • startupStandardHome/loadScripts: -31%
  • startupStandardHome/numNetworkReqs: -50%
  • startupPowerUserHome/uiStartup: -41%
  • startupPowerUserHome/load: -25%
  • startupPowerUserHome/domContentLoaded: -25%
  • startupPowerUserHome/domInteractive: -37%
  • startupPowerUserHome/firstPaint: -31%
  • startupPowerUserHome/backgroundConnect: -10%
  • startupPowerUserHome/firstReactRender: +13%
  • startupPowerUserHome/loadScripts: -26%
  • startupPowerUserHome/numNetworkReqs: -43%
  • startupStandardHome/domInteractive: -50%
  • startupStandardHome/backgroundConnect: +15%
  • startupStandardHome/firstReactRender: +44%
  • startupStandardHome/initialActions: +20%
  • startupStandardHome/setupStore: -47%
  • startupStandardHome/numNetworkReqs: -45%
  • startupPowerUserHome/uiStartup: -31%
  • startupPowerUserHome/domInteractive: -31%
  • startupPowerUserHome/backgroundConnect: -41%
  • startupPowerUserHome/firstReactRender: +33%
  • startupPowerUserHome/setupStore: -46%
  • startupPowerUserHome/numNetworkReqs: -68%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 568ms
  • 🟡 startupPowerUserHome/INP: p75 216ms
  • 🟡 startupPowerUserHome/LCP: p75 3.2s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -63%
  • onboardingImportWallet/pwFormToMetricsScreen: +586%
  • onboardingImportWallet/metricsToWalletReadyScreen: -25%
  • onboardingImportWallet/doneButtonToHomeScreen: -75%
  • onboardingImportWallet/total: -46%
  • onboardingNewWallet/srpButtonToPwForm: -77%
  • onboardingNewWallet/createPwToRecoveryScreen: +1064%
  • onboardingNewWallet/skipBackupToMetricsScreen: -68%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -15%
  • onboardingNewWallet/doneButtonToAssetList: -47%
  • onboardingNewWallet/total: -38%
  • assetDetails/assetClickToPriceChart: -57%
  • assetDetails/total: -57%
  • solanaAssetDetails/assetClickToPriceChart: -77%
  • solanaAssetDetails/total: -77%
  • importSrpHome/loginToHomeScreen: -41%
  • importSrpHome/openAccountMenuAfterLogin: -77%
  • importSrpHome/homeAfterImportWithNewWallet: -75%
  • importSrpHome/total: -71%
  • swap/openSwapPageFromHome: -97%
  • swap/fetchAndDisplaySwapQuotes: +36%
  • swap/total: +13%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 onboardingImportWallet/INP: p75 216ms
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: +17%
Bundle size diffs
  • background: 68 Bytes (0%)
  • ui: -525 Bytes (-0.01%)
  • common: 510 Bytes (0%)

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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 b546901. Configure here.

Comment thread ui/pages/onboarding-flow/welcome/welcome.tsx
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented May 29, 2026

Builds ready [1c6808e]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 23 pass · 🟡 2 warn · 🔴 0 fail)

Baseline (latest main): 51036da | Date: 5/2/2026 | Pipeline: 26639800828 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: -76%
  • loadNewAccount/total: -76%
  • bridgeUserActions/bridge_load_page: -73%
  • bridgeUserActions/bridge_load_asset_picker: -55%
  • bridgeUserActions/bridge_search_token: -28%
  • bridgeUserActions/total: -43%
  • loadNewAccount/load_new_account: -50%
  • loadNewAccount/total: -50%
  • bridgeUserActions/bridge_load_page: -10%
  • bridgeUserActions/bridge_load_asset_picker: -20%
  • bridgeUserActions/bridge_search_token: -30%
  • bridgeUserActions/total: -25%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -32%
  • startupStandardHome/load: -30%
  • startupStandardHome/domContentLoaded: -30%
  • startupStandardHome/domInteractive: -34%
  • startupStandardHome/firstPaint: -15%
  • startupStandardHome/backgroundConnect: -41%
  • startupStandardHome/loadScripts: -30%
  • startupStandardHome/numNetworkReqs: -50%
  • startupPowerUserHome/uiStartup: -38%
  • startupPowerUserHome/load: -22%
  • startupPowerUserHome/domContentLoaded: -22%
  • startupPowerUserHome/domInteractive: -37%
  • startupPowerUserHome/firstPaint: -30%
  • startupPowerUserHome/firstReactRender: +25%
  • startupPowerUserHome/loadScripts: -22%
  • startupPowerUserHome/numNetworkReqs: -42%
  • startupStandardHome/domInteractive: -53%
  • startupStandardHome/backgroundConnect: +15%
  • startupStandardHome/firstReactRender: +44%
  • startupStandardHome/initialActions: +20%
  • startupStandardHome/setupStore: -39%
  • startupStandardHome/numNetworkReqs: -45%
  • startupPowerUserHome/uiStartup: -32%
  • startupPowerUserHome/domInteractive: -29%
  • startupPowerUserHome/backgroundConnect: -41%
  • startupPowerUserHome/firstReactRender: +33%
  • startupPowerUserHome/setupStore: -19%
  • startupPowerUserHome/numNetworkReqs: -72%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 496ms
  • 🟡 startupPowerUserHome/INP: p75 248ms
  • 🟡 startupPowerUserHome/LCP: p75 3.3s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -64%
  • onboardingImportWallet/pwFormToMetricsScreen: +532%
  • onboardingImportWallet/metricsToWalletReadyScreen: -32%
  • onboardingImportWallet/doneButtonToHomeScreen: -73%
  • onboardingImportWallet/total: -44%
  • onboardingNewWallet/srpButtonToPwForm: -76%
  • onboardingNewWallet/createPwToRecoveryScreen: +1152%
  • onboardingNewWallet/skipBackupToMetricsScreen: -65%
  • onboardingNewWallet/doneButtonToAssetList: -56%
  • onboardingNewWallet/total: -45%
  • assetDetails/assetClickToPriceChart: -58%
  • assetDetails/total: -58%
  • solanaAssetDetails/assetClickToPriceChart: -72%
  • solanaAssetDetails/total: -72%
  • importSrpHome/loginToHomeScreen: -38%
  • importSrpHome/openAccountMenuAfterLogin: -65%
  • importSrpHome/homeAfterImportWithNewWallet: -69%
  • importSrpHome/total: -65%
  • swap/openSwapPageFromHome: -97%
  • swap/fetchAndDisplaySwapQuotes: +36%
  • swap/total: +12%
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: +25%
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 5.77 KiB (0.1%)
  • ui: 1.65 KiB (0.02%)
  • common: 2.19 KiB (0.02%)

properties: {
// eslint-disable-next-line @typescript-eslint/naming-convention
account_type: `${MetaMetricsEventAccountType.Default}_${LOGIN_TYPE.TELEGRAM}`,
account_type: `${MetaMetricsEventAccountType.Default}_${loginType}`,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

accountTypeformetrics?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can't use the accountTypeformetrics yet. Coz accountTypeformetrics selector will only return the correct value after the (seedless)onboarding state is properly updated with social login details.

At this point, we can't use that selector yet. I've added comment here (https://github.com/MetaMask/metamask-extension/pull/43052/changes#diff-4ca9b26c4727b796e59c6fb56dd5c794793bebe5174ad91445658d963e574c1fR352) for why we can't use this yet.

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.

5 participants