-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Chore/master sync 12.16.2 #32348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chore/master sync 12.16.2 #32348
Conversation
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. [](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? --> [](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 [](https://codespaces.new/MetaMask/metamask-extension/pull/32207?quickstart=1) ## Before  ## After  ## **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? --> [](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? --> [](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>
feat:12.16.2
|
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. |
| category: MetaMetricsEventCategory.InpageProvider, | ||
| referrer: { | ||
| url: origin, | ||
| controller.metaMetricsController.trackEvent( |
There was a problem hiding this comment.
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: { |
There was a problem hiding this comment.
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: { |
There was a problem hiding this comment.
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( |
There was a problem hiding this comment.
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: { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comes from hotfix: f57f142
✨ Files requiring CODEOWNER review ✨🖥️ @MetaMask/wallet-ux
|
|
|
||
| const SOLANA_URL_REGEX_MAINNET = | ||
| /^https:\/\/solana-mainnet\.infura\.io\/v3\/.*/u; | ||
| /^https:\/\/solana-(mainnet|devnet)\.infura\.io\/v3\/.*/u; |
There was a problem hiding this comment.
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(() => { |
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comes from hotfix f57f142
Builds ready [2ac078c]
UI Startup Metrics (1216 ± 57 ms)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Description
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist