Skip to content
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

Version v12.1.0 #25586

Merged
merged 299 commits into from
Aug 28, 2024
Merged

Version v12.1.0 #25586

merged 299 commits into from
Aug 28, 2024

Conversation

chloeYue
Copy link
Contributor

@chloeYue chloeYue commented Jun 28, 2024

RC V12.1.0

Open in GitHub Codespaces

jpuri and others added 30 commits June 11, 2024 17:52
<!--
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**

Updates MMI e2e tests for the transaction confirmation flow.

## **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 Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.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/develop/.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**

Adds new selectors for multichain context (and more specifically, for
non-EVM networks for now).

Those selectors follow the same naming than some existing selectors
(that are EVM only).

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

## **Related issues**

None

## **Manual testing steps**

1. This PR rely only on unit tests

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

- [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/develop/.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
- [ ] 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/develop/.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.
## **Description**

This pull request aims to upgrade the extension to [design tokens
v4](https://github.com/MetaMask/design-tokens/blob/main/MIGRATION.md#from-version-300-to-400).
This upgrade ensures the most up-to-date colors are being used that
align with design and primes the extension for the upcoming brand
evolution. Included in this PR are third-party network color CSS
variables that have been removed from the design tokens package and
renamed CSS variables for shadow. This PR is the final update from a
series of PRs that replace deprecated CSS colors that have been removed
in v4.

**Dependency PRs that should be merged before this one:**
- #24970
- #24970
- #25125
- #25124
- #25122
- #25011
- #25010
- #25083
- #24971
- #25158

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


![image](https://github.com/MetaMask/metamask-extension/assets/8112138/3c5cb96b-e473-4f3a-9b9c-5aa8020c2610)

![image
(1)](https://github.com/MetaMask/metamask-extension/assets/8112138/c16d28f7-f05c-4132-8268-b3c48fe9bd4a)


## **Related issues**

Fixes: #24916

## **Manual testing steps**

Check all [removed and
changed](https://github.com/MetaMask/design-tokens/blob/main/MIGRATION.md#from-version-300-to-400)
CSS variables are no longer in the codebase:

1. Pull this branch.
2. Copy [this
script](https://gist.github.com/georgewrmarshall/1ca0d7044bfa3c91343cadbf2bd5c828)
that checks for all deprecated colors to the root of the extension.
3. Run `node searchDeprecatedTokens.js`.
4. Ensure there are no results.

Check shadows and network colors work as expected:

1. Navigate to stories that use primary and error shadows
(`ButtonPrimary`, `ButtonSecondary`, `Button` (deprecated)) as well as
network colors (`Box` BackgroundColors story).
2. Verify that shadows and network colors work as expected.
Run the extension and navigate around to ensure colors work as expected:

1. Pull this branch.
2. Run `yarn start`.
3. Navigate around the extension in light and dark mode to ensure colors
work as expected.

## **Screenshots/Recordings**

### **Before**

Checking the codebase for any existing deprecated colors returns many
results in the `develop` branch.


https://github.com/MetaMask/metamask-extension/assets/8112138/8ad23392-a0cc-4be5-8a50-12a126f5b71c


### **After**

Checking the codebase for any deprecated removed colors that could break
the UI using the provided script, after removing network colors, returns
no results.


https://github.com/MetaMask/metamask-extension/assets/8112138/3b82862d-5302-466f-bc55-bbb05a924ac0

Checking components that use updated CSS variables and newly added still
work as expected


https://github.com/MetaMask/metamask-extension/assets/8112138/b70279b9-07f3-4315-abcd-83090ca03eef

Checking extension colors are working as expected in light and dark
mode. In dark mode primary and error are a shade lighter in v4


https://github.com/MetaMask/metamask-extension/assets/8112138/d748f8cb-f2f2-4bd5-b9f4-f3bb376f22cd


## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.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/develop/.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**

This PR introduces the addition of a Popular Networks list to the Add
Network modal.

<!--
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/25160?quickstart=1)

## **Related issues**

Fixes:

## **Manual testing steps**

1. Run `yarn && ENABLE_NETWORK_UI_REDESIGN=1 yarn start`
2. Go to Settings -> Developer Options
3. Tun on the network new toggle
4. Go to the wallet page
5. Click on the network button ( see the video below )
6. you should see the list of popular network
7. you should be able to add a network from the modal

## **Screenshots/Recordings**

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

### **Before**



https://github.com/MetaMask/metamask-extension/assets/26223211/bde545ef-c5a3-4cc5-9508-16edfd8507dd


### **After**



https://github.com/MetaMask/metamask-extension/assets/26223211/114076c2-e336-4b96-b061-defd6d886380




## **Pre-merge author checklist**

- [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/develop/.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/develop/.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: David Walsh <[email protected]>
<!--
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**
Removed wrongly in
#21410, this PR aims
to add `deprecated` tag back to `callBackgroundMethod` for migration
purpose.

<!--
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/25216?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/develop/.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/develop/.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.
## **Description**

This PR removes duplicate code for NetworkListItem creation, instead
using a helper function to create a single item.

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1. Click "Polygon" and see chain switch to Polygon
2. Click "Ethereum Mainnet" and see chain switch to Ethereum Mainnet
3. Drag and drop networks around -- should work
4. Click the toggle to view test networks
5. Click a test network -- should change to correct network

## **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/develop/.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/develop/.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: Brian Bergeron <[email protected]>
Co-authored-by: Nidhi Kumari <[email protected]>
<!--
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**

We were submitting Segment events in the MetaMetrics constructor without
cathing errors. This was the sole place where we failed to catch errors
resulting from Segment calls.

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

## **Related issues**

Mitigates #25244

## **Manual testing steps**

Sure of exact reproduction steps at this time.

## **Screenshots/Recordings**

N./A

## **Pre-merge author checklist**

- [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/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [ ] 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/develop/.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.
## **Description**

This PR refactors the app header into smaller components and adds
multichain selectors.

## **Related issues**

Related to MetaMask/accounts-planning#425

## **Manual testing steps**

## **Screenshots/Recordings**
### **Before**
### **After**

## **Pre-merge author checklist**

- [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/develop/.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
- [ ] 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/develop/.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: Charly Chevalier <[email protected]>
Adds data collection for marketing toggles (and toasts/warnings) on:
- Onboarding
- Toast in Wallet
- Settings page

<!--
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/24605?quickstart=1)

## **Related issues**

Fixes:
MetaMask/MetaMask-planning#2437
MetaMask/MetaMask-planning#2438
MetaMask/MetaMask-planning#2526

## **Manual testing steps**

Onboarding checkbox:
Make the `metametrics.js` to return `renderOnboarding` instead of
`renderLegacyOnboarding`
1. Start a new account
2. There should be a new checkbox that asks for marketing consent
3. Checking it should set the marketing consent to true (check at
Settings, Securty tab page)

Security tab:
1. Go to Security tab
2. When checking the "Data collection for marketing" to `true`, the
"Participate in MetaMetrics" toggle should turn to `true`
3. When checking "Participate in MetaMetrics" to `false`, "Data
collection for marketing" should be set to `false`
4. When "Participate in Metametrics" is `true` and "Data collection for
marketing" is `true`, and the latter is set to `false`, a warning
message should appear.

Toast:
An already onboarded user will have the "dataCollectionForMarketing"
value as `null` (neither `true` or `false`). This will trigger the
toast.
1. By clicking on "I accept", it should set the "Data collection for
marketing" to `true`.
2. By closing the toast or clicking on "No thanks", it should set the
"Data collection for marketing" to `false`.

All of these actions should trigger subsequent Segment events.


## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<img width="646" alt="Screenshot 2024-05-20 at 14 19 53"
src="https://github.com/MetaMask/metamask-extension/assets/11148144/a13b70ec-1d89-4e9f-8df1-2096dd56e642">


https://github.com/MetaMask/metamask-extension/assets/11148144/5eb59902-768d-4d07-a112-5aeb5471587d



## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.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/develop/.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: Mircea Nistor <[email protected]>
Co-authored-by: NidhiKJha <[email protected]>
Co-authored-by: David Walsh <[email protected]>
Co-authored-by: legobeat <[email protected]>
Co-authored-by: Nidhi Kumari <[email protected]>
This PR brings the domain resolution integration up to specification.

There's a lot going on in this PR so here's a quick breakdown of what's
going on:

- The `DomainInputResolutionCell` component is responsible for
displaying a single resolution, it can properly display both ENS and
snap provided resolutions. It also has logic to detect overflowing
titles so that it can replace the title component with one that has an
ellipsis and a tooltip showing the entire title.
- The confusable component was modified to include an option to wrap the
points in a text component instead of span and I added a prop to be able
to assign a classname to the tooltip wrapper, I did this to allow for my
use case of having a tooltip within a tooltip (an overflowing domain
name with confusables).
- The update to the `AddressListItem` component snapshot is because of
the update to the confusable component.
- ~~I had to update implementation of the `AddRecipient` components
because the update in the name resolution api would break the existing
implementation. Those components will be removed at some point by the
extension team.~~ (These components have since been removed)
- The `AddContact` component was updated to use the domain input
resolution cell component.
- The `AddressListItem` component was updated to accommodate overflowing
titles (specifically when viewing all contacts).
- The `ViewContact` & `EditContact` components were also updated to
accommodate overflowing titles.
- After the add/remove from address book actions, the old state would
momentarily hang, so now I’m forcing the update for a cleaner UX where
the old state won’t hang at all.




**Previous `AddContact` screen**: 


https://github.com/MetaMask/metamask-extension/assets/41640681/ccaebf23-76c9-4ae8-99ee-f338d9da669d


**New screens**:




https://github.com/MetaMask/metamask-extension/assets/41640681/957def02-5859-4299-8c21-b561ea8f3c2f




Note: The `AddContact` screen was re-done to accommodate for snap
provided resolutions and to update the designs as it seemed the screen
was largely undesigned. See previous design video.

---------

Co-authored-by: Frederik Bolding <[email protected]>
This PR adds a feature flag to be used during the development of the non-EVM initiative. To use the flag during development just change the value of the flag to `true` and access it using `process.env.BTC_BETA_SUPPORT`.
…ing accounts during a NFT send` (#25220)

<!--
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**
The problem with this flaky test is that we start a send flow (type 0x0
tx), and we are switching assets (from NFT to ETH) and proceeding to the
next screen, if we click Continue before the gasLimit is updated the
test will fail: once we land into the last confirmation screen, the gas
limit is never updated there, so the test fails as the total value
doesn't match with the expected one.

This is a race condition that happens on the wallet level, but this PR
intends to fix the flakiness on the test level to not wait for the fix
on the wallet side.
See bug
[here](#25243).

To fix this, we could either add a delay, or in this case, we add some
extra validation (making sure the hex data is cleared) and update the
transaction values, to trigger again a gas update.

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

## **Related issues**

Fixes: #25181 

## **Manual testing steps**

1. Check ci
2. Run test multiple times locally `FIREFOX_SNAP=true yarn
test:e2e:single test/e2e/tests/transaction/change-assets.spec.js
--browser=firefox --leave-running --retryUntilFailure --retries=10`

## **Screenshots/Recordings**



https://github.com/MetaMask/metamask-extension/assets/54408225/113ea17f-020f-46d9-8516-66240f7bd1e2



## **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/develop/.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/develop/.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.
…de blocked tokens in all tests (#25206)

<!--
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**
The responses for the API Calls to aggregator metadata, block list and
blocked tokens are not currently mocked on any tests, however the
requests happen in the majority of tests. These request return a json
back that takes in some occasions more than 1 second to return.

With this PR we mock these responses, so they are immediate, mitigating
any possible delay and flakiness due to real live requests.

Note: We are returning the data, since it's been seen that if we return
just an empty json, some tests fail as they rely on some data from that
requests

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

## **Related issues**

Fixes: MetaMask/MetaMask-planning#2637

## **Manual testing steps**

1. All tests should continue to pass in ci
2. Check screenshots with the real API requests and slow responses

## **Screenshots/Recordings**

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

### **Before**
See slow responses for the 3 API requests happening in tests:

- blocklist: 1.20s


![Screenshot from 2024-06-11
12-04-47](https://github.com/MetaMask/metamask-extension/assets/54408225/bcd75c3d-b91e-4ebe-a3f1-b6a1f6811805)


- aggregator metadata: 644ms

![Screenshot from 2024-06-11
11-24-24](https://github.com/MetaMask/metamask-extension/assets/54408225/0b899c47-0e87-4bc7-ad64-d670b0495d16)


- includeBlockedTokens: 664ms

![Screenshot from 2024-06-11
12-04-56](https://github.com/MetaMask/metamask-extension/assets/54408225/a1ebb86a-7a87-416f-ac96-f6b2ae4c8914)


## **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/develop/.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/develop/.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.
## **Description**
Fixes failing snapshot in `develop` most likely due to conflicts with
#24605 and
#24953

[Slack thread
](https://consensys.slack.com/archives/CTQAGKY5V/p1718207993031359)

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1. Pull this branch 
2. Run `yarn jest`
3. See no failing snapshot tests

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [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/develop/.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/develop/.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.
…uilds (#24142)

<!--
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**

Currently, requests from the dapp can hang if: 
1. they are sent before the extension is fully initialized / before the
extension is ready to process requests from that specific dapp
connection
2. they get swallowed do to an issue in chromium with streams on
prerendered pages breaking when they become visible to the user

The inpage provider does have a retry mechanism, but currently that only
works on MV3 builds. Additionally, is not a 100% reliable trigger as the
underlying `metamask_chainChanged` message that it relies on is tied to
MetaMaskController mem state changes, and is not fired off each time a
dapp connection is established.

This PR attempts to fix request retries by:
* Making the retry message triggered by `metamask_chainChanged` work on
all builds, not just MV3 builds
* Firing `metamask_chainChanged` every time a new dapp connection is
established


**Open concern:**
There may be an edge case when a request with a confirmation is sent by
the dapp, then received and shown to the user in the wallet, but
swallowed by prerender. I believe my proposed changes in this PR would
cause the confirmation to get resent even though there may still be a
confirmation being shown to the user. I haven't been able to test this
properly as debugging the prerender issue in general is difficult.

This would require a dapp to send a request requiring confirmation
pretty much immediately after page load, implying without user
interaction.


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

## **Related issues**

See: #11069
See: #23329
See: #24025

## **Manual testing steps**

### Verify this fixes the `metamask_sendDomainMetadata` issue
1. Restart extension
2. Open any page
3. Quickly open the wallet popup
4. Notice that there is no favicon
5. After 5s have elapsed since the page was opened, the favicon should
populate in the wallet popup

### Verify this fixes retrying messages before extension is ready
1. Open any page (restarting extension not required)
2. Quickly open console and type `await window.ethereum.request({method:
'eth_chainId'})`
3. Notice that the response doesn't come immediately
4. After 5s have elapsed since the page was opened, the response should
be shown in console

### Verify this fixes retrying messages after broken prerender stream
Not easy to verify this unfortunately, you would need to break the
prerender stream while a request was being made


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

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [ ] 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/develop/.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: Alex Donesky <[email protected]>
Co-authored-by: legobeat <[email protected]>
…sers (#25217)

<!--
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**

Fixes two bugs:
- Privacy policy toast should not be seen during onboarding
- Users who onboarded after the privacy policy date should not see the
new privacy policy toast.

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

## **Related issues**

Fixes:

## **Manual testing steps**

New user onbaording after the date:
1. Set the privacy policy date to a date in the future from today
2. Onboard (create a new user)
3. User should not see the privacy policy toast at any moment

New user onboarding before the date:
1. Set the privacy policy date to a date in the past from today.
2. Onboard (create a new user)
3. User should not see the privacy policy toast at any moment
4. Set the privacy policy date to a date in the future from today
5. User should not see the privacy policy toast on the home screen

Old user after the privacy policy date:
1. Have a user already onboarded
2. Make sure the `onboardingDate` is `null` in the redux state (this
simulates a user who has registered before this PR has been in
production)
3. Set the privacy policy date to a date in the future from today
4. User should not see the new privacy policy toast

Old user before the privacy policy date:
1. Have a user onboarded
2. Make sure the `onboardingDate` is `null` in the redux state (this
simulates a user who has registered before this PR has been in
production)
3. Set the privacy policy date to a date in the past before today
4. User should see the new privacy policy toast

TL;DR: If the privacy policy date is in the future, the user should
never see it -BUT- if the privacy policy is in the past, the user should
see it, as long as the user onboarded before the privacy policy date.

## **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/develop/.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/develop/.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: David Walsh <[email protected]>
Co-authored-by: Brian Bergeron <[email protected]>
Co-authored-by: NidhiKJha <[email protected]>
Co-authored-by: Nidhi Kumari <[email protected]>
<!--
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?
-->

This version of `@metamask/base-controller` does not introduce any
functional changes, but there are a few developer experience
improvements:

- The controller messenger is now more type-safe, in that a messenger
with an empty action/event allowlist guarantees that no actions/events
are allowed to be called/emitted, and conversely, that a non-empty
allowlist only allows the given actions/events
- The "selector" version of `subscribe` (three arguments instead of two)
is now fixed so that the arguments to the selector function are
correctly typed.
- It is now impossible to mutate state directly; state must only be
mutated inside of a controller using the `update` method. This ensures
that state updates are always controlled and expected.

View changelog:
https://github.com/MetaMask/core/blob/%40metamask/base-controller%405.0.1/packages/base-controller/CHANGELOG.md

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

## **Related issues**

Progresses #24140.

## **Manual testing steps**

(None needed as there should be no functional changes.)

## **Screenshots/Recordings**

(None)

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.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/develop/.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: MetaMask Bot <[email protected]>
Co-authored-by: Michele Esposito <[email protected]>
Co-authored-by: Michele Esposito <[email protected]>
Co-authored-by: legobeat <[email protected]>
Co-authored-by: Mark Stacey <[email protected]>
…ed in either wallet_switchEthereumChain nor wallet_addEthereumChain calls (#25269)

## **Description**

A bug was introduced in
#24415, where user
rejected request errors are not correctly handled in either
`wallet_switchEthereumChain` nor `wallet_addEthereumChain` calls.

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

## **Related issues**

Fixes: Regression in API error handling found on a local run of [the new
API testing
tool](#24132), will
link report when available.

## **Manual testing steps**

**wallet_addEthereumChain**
1. Go to
https://docs.metamask.io/wallet/reference/wallet_addethereumchain/
2. Submit the prepopulated `wallet_addEthereumChain` request
3. Confirm the request to add Gnosis Chain
4. But click "Cancel" on the second request to switch to the newly added
chain
5. You should see `null` as the response

**wallet_switchEthereumChain**
1. Make sure the wallet is on a chain other than gnosis
2. Go to
https://docs.metamask.io/wallet/reference/wallet_switchethereumchain/
3. Submit the prepopulated switchEthereumChain request (for chainId:
0x64)
4. Click cancel on the request to switch to gnosis chain
5. you should see:
```
{
  "code": 4001,
  "message": "User rejected the request.",
  "stack": "{\n  \"code\": 4001,\n  \"message\": \"User rejected the request.\",\n  \"stack\": \"Error: User rejected the request.\\n  
 }
 ```
 in the response


## **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/develop/.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/develop/.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.
…work domain is incorrectly set (#25106)

## **Description**

Pulls [this fix](MetaMask/core#4388) which adds
a guard to the `setNetworkClientIdForDomain` method on the
`SelectedNetworkController` to no longer add domains to domains state
(nor create a selected network proxy for them) unless the
`useRequestQueuePreference` flag is true

Bumping the `@metamask/selected-network-controller` version required
[bumping peer
dependencies](https://github.com/MetaMask/core/blob/main/packages/selected-network-controller/CHANGELOG.md#changed):
 - `@metamask/network-controller` to v19.0.0
    - An existing patch was repointed to this version.
 - `@metamask/permission-controller` to v10.0.0
-[ This required bumping its own
peerDep](https://github.com/MetaMask/core/blob/main/packages/selected-network-controller/CHANGELOG.md#changed)
`@metamask/approval-controller` to v7.0.0

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

## **Related issues**

See: https://consensys.slack.com/archives/C1L7H42BT/p1717512150509719

## **Manual testing steps**

1. Open settings -> experimental and toggle of the `Select networks for
each site` setting
2. Go to any site
3. Open the console and execute:
```
await window.ethereum.request({
  "method": "eth_chainId",
  "params": []
});
```
4. See that it matches the globally selected network
5. Manually change the network with the network switcher
6. Go back to the site and execute the same `eth_chainId` script
7. See that the result has changed to the chainId you switched to
8. Now execute
```
await window.ethereum.request({
  "method": "wallet_requestPermissions",
  "params": [
    {
      "eth_accounts": {}
    }
  ]
});
```
and connect an account to the site
9. Repeat steps 1 - 7
10. The `eth_chainId` results should still match the globally selected
network

## **Screenshots/Recordings**

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

### **Before**

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


https://github.com/MetaMask/metamask-extension/assets/34557516/ff2f68ff-6ec8-495f-96c1-e938973ce59b


### **After**

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


https://github.com/MetaMask/metamask-extension/assets/34557516/6061f4e2-faab-48a5-8c55-3b2a4e3aa9f2


## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.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/develop/.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: MetaMask Bot <[email protected]>
…ON_REDESIGN (#25258)

<!--
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**
Small fix for `pre-build-mv2` description and
`ENABLE_CONFIRMATION_REDESIGN` value in circle ci

<!--
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/25258?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/develop/.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/develop/.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**

Due to manual date comparisons, there were some weirdness with the dates
displayed (such as a notification yesterday, but not 24 hours ago). This
fix (using date built-ins) ensures correct notification dates.

NOTE - need to port this on other platforms.

<!--
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/25148?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/develop/.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/develop/.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**

This PR fixes the flaky test `ENS domain resolves to a correct address`

The error is: 
```

[driver] Called 'clickElement' with arguments [".address-list-item"]
[driver] Called 'findElement' with arguments [{"css":".ens-input__selected-input__title","text":"test.eth"}]
Failure on testcase: 'ENS domain resolves to a correct address', for more information see the artifacts tab in CI

TimeoutError: Waiting for element to be located By(xpath, .//*[contains(concat(' ', normalize-space(./@Class), ' '), ' ens-input__selected-input__title ')][(contains(string(.), 'test.eth') or contains(string(.), 'test.eth'))])`

```

The problem is that we are clicking the address-list-item button, and
nothing happens afterwards. Then we try to find the next element but is
not there.
If we look into the address-list-item button element we can see how it
has nested elements inside, which will render the address and the ENS
domain.
Clicking on a "container" element with other elements inside might not
work as we expect, since the inside elements might not be fully updated
before clicking with unknown effects (in this case, the ENS and address
resolution) .

To fix this, we are doing 2 things:
- waiting for both the ENS and the address to be fully rendered (before
we were just waiting for the ENS domain to be loaded)
- clicking on a more specific element inside the container -> we now
click into the inner element for the domain ENS



See Box as the container button, and nested elements with address and
ENS domain.

![Screenshot from 2024-06-12
10-49-23](https://github.com/MetaMask/metamask-extension/assets/54408225/bef54bcf-9f67-46f3-9155-b877fb9c844f)


- ci failure example:
https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/86997/workflows/200911a8-50a6-42f2-b56a-b6f7afc8fc1e/jobs/3178850/artifacts

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

## **Related issues**

Fixes: #24652

## **Manual testing steps**

1. Check ci
2. Run test multiple times locally with different builds `yarn
test:e2e:single test/e2e/tests/transaction/ens.spec.js --browser=chrome
--leave-running --retryUntilFailure --retries=10`

## **Screenshots/Recordings**
Ci failure screenshot: notice how, after clicking the ENS address
button, we don't see the asset below, this means that the click didn't
have any effect.



![image](https://github.com/MetaMask/metamask-extension/assets/54408225/c62f66e5-a194-4d70-917b-5677cdb13f87)


Expected: after clicking the EN address button, we should see the asset
below


![Screenshot from 2024-06-12
10-04-33](https://github.com/MetaMask/metamask-extension/assets/54408225/9478f881-edeb-4a32-9e95-ce715526e72b)



## **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/develop/.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/develop/.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.
- [ ]
Copy link

socket-security bot commented Aug 22, 2024

👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

Ignoring: npm/@mantine/[email protected], npm/@metamask/[email protected], npm/@open-rpc/[email protected], npm/@open-rpc/[email protected], npm/@sentry-internal/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected]

View full report↗︎

Next steps

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/[email protected] or ignore all packages with @SocketSecurity ignore-all

@metamaskbot
Copy link
Collaborator

Builds ready [b7db14f]
Page Load Metrics (176 ± 192 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint823061226330
domContentLoaded1098402211
load431907176400192
domInteractive1098402211

@Gudahtt
Copy link
Member

Gudahtt commented Aug 22, 2024

@SocketSecurity ignore npm/@metamask/[email protected]

This is our package

@Gudahtt
Copy link
Member

Gudahtt commented Aug 22, 2024

@SocketSecurity ignore npm/@open-rpc/[email protected]
@SocketSecurity ignore npm/[email protected]

These packages are intended to have network access

@Gudahtt
Copy link
Member

Gudahtt commented Aug 22, 2024

@SocketSecurity ignore npm/[email protected]

Network access is intended here as well, and the deprecation is not of immediate concern

@Gudahtt
Copy link
Member

Gudahtt commented Aug 22, 2024

@SocketSecurity ignore npm/@open-rpc/[email protected]

Shell access OK, this is expected

@Gudahtt
Copy link
Member

Gudahtt commented Aug 22, 2024

@SocketSecurity ignore npm/[email protected]

New author OK, also this version of the package is quite old and unlikely to have been a malicious takeover.

@Gudahtt
Copy link
Member

Gudahtt commented Aug 22, 2024

@SocketSecurity ignore npm/[email protected]
@SocketSecurity ignore npm/@mantine/[email protected]

Network access is expected in these cases as well

matteoscurati and others added 3 commits August 22, 2024 18:37
#26616)

…26525)

<!--
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**

This PR addresses an issue where duplicate event tracking calls were
made in the `handleNotificationsClick` function within the `GlobalMenu`
component. This redundancy could lead to inaccurate event logging and
unnecessary data collection. Also, the PR removes an unnecessary
property.

[![Open in GitHub

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1. Open the global menu
2. Click on the notifications menu item
3. Verify that the event is tracked only once

## **Screenshots/Recordings**

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

### **Before**

N/A

### **After**

N/A

## **Pre-merge author checklist**

- [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/develop/.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/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [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/26616?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/develop/.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/develop/.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.
This PR cherry-picks #25999 to v12.1.0. Original description:

## **Description**

Upgrade the Sentry packages from `7.53.0` to `8.19.0`.

Specifically:

- Refactor custom `FilterEvents` integration into object returned by
function.
- Remove usages of `hub`.
- Fix notification errors when changing metrics preference.

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

## **Related issues**

## **Manual testing steps**

Full Sentry regression.

## **Screenshots/Recordings**

### **Before**

### **After**

## **Pre-merge author checklist**

- [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/develop/.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/develop/.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: Matthew Walsh <[email protected]>
Co-authored-by: MetaMask Bot <[email protected]>
Cherry-pick of #26192 for v12.1.0. Original description:

## **Description**

Fix the automatic tracking of Sentry sessions, and refactor Sentry setup
to simplify logic and improve logging.

Specifically:

- Remove all dynamic `autoSessionTracking` enablement.
- Add a custom Sentry transport to prevent any requests reaching Sentry
if metrics are disabled.
- Only consider metrics enabled when preference is set and onboarding is
complete.
- Enable Sentry if `METAMASK_ENVIRONMENT` is not `production` and
`SENTRY_DSN_DEV` is specified.
- Remove the arguments to the `setupSentry` function.
- Since the file already references `process.env` and
`global.stateHooks` internally.
- Flatten all the functions within `setupSentry.js`.
  - Since they no longer require a dynamic `getState` callback.
- Log all Sentry messages via the `debug` package based on the `DEBUG`
environment variable.
  - Create separate loggers for UI and background to differentiate logs.
  - e.g. `DEBUG=metamask:sentry:*` in `.metamask.rc`
- Add additional log messages for easier debug.
- Including all sent events and completed sessions if `METAMASK_DEBUG`
is enabled.
- Add mock `SENTRY_DSN_DEV` to Flask and MMI test builds.
- Remove duplication in package scripts.

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

## **Related issues**

Fixes:
[#2555](MetaMask/MetaMask-planning#2555)
#15691

## **Manual testing steps**

## **Screenshots/Recordings**

### **Before**

### **After**

<img width="713" alt="Updated Logs"
src="https://github.com/user-attachments/assets/8351a968-baea-4cbd-b7b6-0b8000cf1a84">

## **Pre-merge author checklist**

- [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/develop/.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/develop/.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: Matthew Walsh <[email protected]>
@metamaskbot
Copy link
Collaborator

Builds ready [04c5fc6]
Page Load Metrics (68 ± 19 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint602961025426
domContentLoaded994252110
load38206683919
domInteractive994252110

)

<!--
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**

Cherry picks #26600 

<!--
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/26625?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/develop/.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/develop/.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.
@metamaskbot
Copy link
Collaborator

Builds ready [6927746]
Page Load Metrics (147 ± 171 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint662731034723
domContentLoaded97526189
load421700147357171
domInteractive97526189

…k] (#26624)

Cherry-pick of (#26044) for v12.1.0. original description: 

## **Description**

Add initial tracing and performance metrics infrastructure.

Specifically:

- Add the `trace` method, to be used anywhere in the client to generate
a Sentry trace to monitor and analyse performance metrics.
- Add buttons to the developer settings as an easy mechanism to generate
Sentry errors (in the UI or background) and traces.
- Add the `Sentry.browserTracingIntegration` to automatically generate
traces for each page navigation, including nested spans for any HTTP
requests.
- Update the Sentry debugging documentation in the `README`.

Note that the previously used `browserProfilingIntegration` does not
generate transactions or traces itself, but rather attempts to add
profiling data to any generated transactions. This does not appear to be
compatible given it requires the Self-Profiling API object which is only
available in Chrome and in our case, the UI. In addition, it requires
the `js-profiling` document policy which also appears to currently not
be supported in browser extensions.

Sentry also provides React specific automated instrumentation via
`@sentry/react` and the
`Sentry.reactRouterV5BrowserTracingInstrumentation` integration, but
this should be pursued in a separate ticket if needed given the required
further refactor.

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

## **Related issues**

Fixes:
[#2711](MetaMask/MetaMask-planning#2711)

## **Manual testing steps**

1. Enable metrics in the settings.
2. Login to Sentry account.
3. Go to `Traces` or `Performance` section.
4. Note new transactions or traces named `popup.html` with nested spans
including HTTP requests.

## **Screenshots/Recordings**

### **Before**

### **After**

<img width="250" alt="Sentry Developer Options"
src="https://github.com/user-attachments/assets/620cbfb8-ab4d-4ed0-b5f6-ba04ef975ddc">

## **Pre-merge author checklist**

- [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/develop/.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/develop/.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: Matthew Walsh <[email protected]>
@Gudahtt
Copy link
Member

Gudahtt commented Aug 22, 2024

@SocketSecurity ignore npm/@sentry-internal/[email protected]
@SocketSecurity ignore npm/@sentry/[email protected]
@SocketSecurity ignore npm/@sentry/[email protected]

These are expected to have network access

@metamaskbot
Copy link
Collaborator

Builds ready [42555d3]
Page Load Metrics (181 ± 226 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint631501032412
domContentLoaded97831188
load402230181471226
domInteractive97831188

@Gudahtt
Copy link
Member

Gudahtt commented Aug 22, 2024

I tested the recent three Sentry commits by generally following the instructions here: #26605

The one adjustment I made was to set the sample rate to 1 so that performance events would be guaranteed to be sent. That can be adjusted here:

tracesSampleRate: 0.01,

I was able to confirm that:

  • Errors were received from both mv3 and mv2 builds, and source maps are working correctly (Sentry showed unminified stack traces)
  • We are receiving performance data, including page load time.

…r v12.1.0 (#26476)

This brings the tests up to date with develop, which is what they should
have been. One test that was cherry-picked into v12.0.0 and then later
updated on develop was not merge properly when master was merged into
v12.1.0

Co-authored-by: Mark Stacey <[email protected]>
@metamaskbot
Copy link
Collaborator

Builds ready [5bdc48e]
Page Load Metrics (137 ± 160 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint61287934723
domContentLoaded98119168
load401581137333160
domInteractive98119167

## **Description**

This PR will trigger the creation of a beta build once merged.

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

## **Related issues**

N/A

## **Manual testing steps**

N/A

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [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/develop/.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/develop/.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.
@metamaskbot
Copy link
Collaborator

Builds ready [e5f4f32]
Page Load Metrics (58 ± 8 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint5913986209
domContentLoaded95823157
load3910358168
domInteractive95823157

## **Description**

These change entries are for features that aren't yet enabled. They are
behind build flags.

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

## **Related issues**

N/A

## **Manual testing steps**

n/A

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [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/develop/.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/develop/.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.
## **Description**

The `-beta.0` suffice has been removed from the version number to
prepare for the production release.

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

## **Related issues**

N/A

## **Manual testing steps**

N/A

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [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/develop/.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/develop/.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.
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.

We are ready to publish this now. No outstanding bug reports from QA or from the beta release.

@metamaskbot
Copy link
Collaborator

Builds ready [7848f3c]
Page Load Metrics (63 ± 11 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint60149932612
domContentLoaded95724157
load40113632211
domInteractive95724157

@Gudahtt Gudahtt merged commit 161bf0e into master Aug 28, 2024
75 checks passed
@Gudahtt Gudahtt deleted the Version-v12.1.0 branch August 28, 2024 19:44
@github-actions github-actions bot locked and limited conversation to collaborators Aug 28, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
extension-delivery INVALID-PR-TEMPLATE PR's body doesn't match template release-12.1.0 Issue or pull request that will be included in release 12.1.0 team-extension-platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.