Skip to content

Conversation

@DDDDDanica
Copy link
Contributor

@DDDDDanica DDDDDanica commented Apr 28, 2025

Description

Open in GitHub Codespaces

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.

runway-github bot and others added 6 commits April 24, 2025 17:05
Runway bumped your version to 12.16.2

Co-authored-by: runway-github[bot] <73448015+runway-github[bot]@users.noreply.github.com>
) cp-12.16.2 (#32301)

CP: #32179
**Issue:** Firefox's updated Add-on policies (as of February 2024)
require that metrics opt-in be shown immediately upon onboarding.
Currently, MetaMask shows a "Welcome" page first, followed by the
MetaMetrics opt-in page, which no longer complies with Firefox's
requirements. This is a **temporary** solution, we plan on updating the
onboarding flow completely in the near future

**Solution:**
- Modified the onboarding flow specifically for Firefox users to show
the MetaMetrics opt-in page as the first screen
- Maintained the original flow (Welcome page first) for all other
browsers
- Implementation detects Firefox using `getPlatform()` and conditionally
adjusts the page order

This change ensures compliance with Firefox's [updated Add-on
policies](https://extensionworkshop.com/documentation/publish/add-on-policies/#data-disclosure-collection-and-management)
while maintaining the existing experience for users on other platforms.

[![Open in GitHub

Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/32179?quickstart=1)

Fixes:
[32173](#32173)

Firefox Testing:
1. Remove MetaMask extension if already installed
2. Install fresh extension on Firefox
3. Verify that the MetaMetrics opt-in page appears as the first screen
4. Complete the onboarding flow to ensure all subsequent pages appear
correctly

Other Browsers Testing:
1. Repeat steps 1-3 on Chrome, Brave, Edge, and Opera
2. Verify that these browsers maintain the original flow (Welcome page
first)
3. Ensure the complete onboarding flow works as expected

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

1. Welcome page
2. MetaMetrics opt-in page


https://github.com/user-attachments/assets/eea4eeb0-c89e-407f-99be-651ad49680a6

Firefox onboarding flow:
1. MetaMetrics opt-in page
2. Welcome page


https://github.com/user-attachments/assets/86f50ddf-a7f7-451c-8ac1-95317deb8036

Other browsers remain unchanged:
1. Welcome page
2. MetaMetrics opt-in page


https://github.com/user-attachments/assets/eea4eeb0-c89e-407f-99be-651ad49680a6

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding

Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] 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.

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/32301?quickstart=1)

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.

---------

Co-authored-by: Vince Howard <vincenguyenhoward@gmail.com>
… exclude metametrics id data (#32304)

- chore: cp-12.16.2 Make "Dapp Viewed" event exclude metametrics id data
(#32207)

## **Description**
Per [this slack

thread](https://consensys.slack.com/archives/CTQAGKY5V/p1745413333736539),
we should exclude metametrics Id data from `Dapp Viewed` events

[![Open in GitHub

Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/32207?quickstart=1)

## Before
![Screenshot 2025-04-23 at 4 43

56 PM](https://github.com/user-attachments/assets/64aa00eb-7954-4aef-8473-18bc71f60f02)

## After
![Screenshot 2025-04-23 at 4 26

06 PM](https://github.com/user-attachments/assets/ef577b43-ba38-49bc-a332-18d7429dccf4)


## **Related issues**

Fixes: https://github.com/MetaMask/MetaMask-planning/issues/4743

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding

Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.

---------

Co-authored-by: Mark Stacey <mark.stacey@consensys.net>
[349cd2e](349cd2e)

---------

Co-authored-by: Alex Donesky <adonesky@gmail.com>
Co-authored-by: Mark Stacey <mark.stacey@consensys.net>
Co-authored-by: Danica Shen <zhaodanica@gmail.com>
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution? -->

[![Open in GitHub

Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/32327?quickstart=1)

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page... 2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding

Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/32336?quickstart=1)

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.

Co-authored-by: javiergarciavera <76975121+javiergarciavera@users.noreply.github.com>
@DDDDDanica DDDDDanica requested a review from a team as a code owner April 28, 2025 18:04
@github-actions
Copy link
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-extension-platform Extension Platform team label Apr 28, 2025
category: MetaMetricsEventCategory.InpageProvider,
referrer: {
url: origin,
controller.metaMetricsController.trackEvent(
Copy link
Contributor Author

@DDDDDanica DDDDDanica Apr 28, 2025

Choose a reason for hiding this comment

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

Comes from hotfix: f57f142

referrer: {
url: origin,
},
properties: {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comes from hotfix: f57f142

{
category: 'inpage_provider',
event: 'Dapp Viewed',
properties: {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comes from hotfix: f57f142

is_first_visit: true,
number_of_accounts: 3,
number_of_accounts_connected: 4,
expect(sendMetrics).toHaveBeenCalledWith(
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comes from hotfix: f57f142

referrer: {
url: origin,
},
properties: {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comes from hotfix: f57f142

@metamaskbot
Copy link
Collaborator

✨ Files requiring CODEOWNER review ✨

🖥️ @MetaMask/wallet-ux

  • ui/pages/onboarding-flow/metametrics/metametrics.js
  • ui/pages/onboarding-flow/onboarding-flow-switch/onboarding-flow-switch.js
  • ui/pages/onboarding-flow/welcome/welcome.js


const SOLANA_URL_REGEX_MAINNET =
/^https:\/\/solana-mainnet\.infura\.io\/v3\/.*/u;
/^https:\/\/solana-(mainnet|devnet)\.infura\.io\/v3\/.*/u;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comes from flaky flask e2e test fix: f2e26fc

.thenCallback(() => {
return response;
});
return await mockServer.forGet(SOLANA_TOKEN_API).thenCallback(() => {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comes from flaky flask e2e test fix: f2e26fc

await driver.navigate();
}

if (process.env.SELENIUM_BROWSER === Browser.FIREFOX) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

comes from hotfix f57f142

await onboardingMetricsPage.clickIAgreeButton();
} else {
await onboardingMetricsPage.clickNoThanksButton();
if (process.env.SELENIUM_BROWSER !== Browser.FIREFOX) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

comes from hotfix f57f142

console.log('Starting the import of SRP onboarding flow');
await driver.navigate();

if (process.env.SELENIUM_BROWSER === Browser.FIREFOX) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

comes from hotfix f57f142

@metamaskbot
Copy link
Collaborator

Builds ready [2ac078c]
UI Startup Metrics (1216 ± 57 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1216111614545712521317
load10549411301641182990
domContentLoaded1047935129264936991
domInteractive17136071630
firstPaint730831301421233970
backgroundConnect8441689
firstReactRender2216142142139
getState12528778
initialActions001001
loadScripts802682104965834916
setupStore9529579
WebpackHomeuiStartup20721636264623622422401
load16191317216819517401996
domContentLoaded16121310216519217301992
domInteractive171271121456
firstPaint162693475222982
backgroundConnect249125172658
firstReactRender179553611148594
getState1432482469
initialActions318136
loadScripts16071307216318817261961
setupStore23625039289
FirefoxBrowserifyHomeuiStartup14821247194114215391832
load13281103175914014111656
domContentLoaded13281102175914014111655
domInteractive10937195278998
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect21136372332
firstReactRender24205342533
getState9449789
initialActions001001
loadScripts13091080174214013961638
setupStore7439478
WebpackHomeuiStartup16341436200013817321902
load14151225172312715201663
domContentLoaded14151225172312715201663
domInteractive10039191278798
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect23155272443
firstReactRender36285653948
getState10541689
initialActions001011
loadScripts13951209170512814991645
setupStore8531489

Copy link
Member

@Gudahtt Gudahtt left a comment

Choose a reason for hiding this comment

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

LGTM!

@Gudahtt Gudahtt merged commit 2621ca2 into Version-v12.17.0 Apr 28, 2025
162 checks passed
@Gudahtt Gudahtt deleted the chore/master-sync-12.16.2 branch April 28, 2025 19:55
@github-actions github-actions bot locked and limited conversation to collaborators Apr 28, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

team-extension-platform Extension Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants