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.4.0 RC #27287

Merged
merged 130 commits into from
Oct 8, 2024
Merged

Version v12.4.0 RC #27287

merged 130 commits into from
Oct 8, 2024

Conversation

metamaskbot
Copy link
Collaborator

📦 🚀

jiexi and others added 30 commits August 15, 2024 17:39
…Form update in-place rather than remove and add for rpcUrl changes (#26453)

<!--
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 it is not possible to change the rpcUrl for an existing
network configuration without first removing it then re-adding it. This
poses an issue on extension when the rpcUrl for the currently selected
network is changed via the `NetworkForm`. The NetworkForm first removes
the existing networkClient which causes the SelectedNetworkController to
replace any references to the networkClientId being removed with the
selectedNetworkClientId, but the problem is that the
selectedNetworkClientId is no longer valid at that point and leaves the
SelectedNetworkController in a corrupted state.

Really what we want in this case is to allow the network configuration
to be updated in place by id, but only if the rpcUrl isn't changing to
one that already exists on a different network configuration.

This PR achieves that by getting rid of the
`removeNetworkConfiguration()` call triggered by `NetworkForm` and
patching the `NetworkController` with changes from
MetaMask/core#4614 which allow network
configurations to have their rpcUrl updated in place. It also keeps the
existing patch that removed a `lookupNetwork()` call in
`initializeProvider()`.

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

## **Related issues**

Related: #26309

## **Manual testing steps**

1. Open extension in expanded view
2. Visit the Settings -> Networks
3. Add a network manually and add an rpc provider for Arbitrum One (for
your convenience, [chainlist.org](https://chainlist.org/chain/42161))
4. In the extension service worker console note the state via
`chrome.storage.local.get(console.log)` for
NetworkController.networkConfigurations
5. Visit the Network Form for that Network
6. Change the rpcUrl to a different valid one for Arbitrum 
7. In the extension service worker console check state via
`chrome.storage.local.get(console.log)`, the id for the network
configuration that was just edited should not have changed in
NetworkController.networkConfigurations
8. Visit a dapp, switch the chain to Arbitrum 
```
await window.ethereum.request({
  "method": "eth_requestAccounts",
});
await window.ethereum.request({
  "method": "wallet_switchEthereumChain",
  "params": [
    {
      "chainId": "0xa4b1"
    }
  ]
});
```
7. In the extension service worker console check state via
`chrome.storage.local.get(console.log)`, the dapp should have an entry
for the network client we added above SelectedNetworkController.domains
8. Again, Change the rpcUrl to a different valid one for Arbitrum 
9. In the extension service worker console check state via
`chrome.storage.local.get(console.log)`, the dapp should still be
pointed at the same network client id in
SelectedNetworkController.domains which should still exist in
NetworkController.networkConfigurations

## **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
- [x] 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**

Fixes a newly introduced issue where the Snap home page would have
double padding since all Snap UI's are wrapped in `<Container>` as of
f461e37,
the container component adds 16px of padding by itself.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26462?quickstart=1)
<!--
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**

Display max 15 characters, not max 15 digits, before ellipsis for
amounts shown in Permit pages. Updated to use `shortenString` here.

## **Related issues**

Fixes: MetaMask/MetaMask-planning#2845

## **Manual testing steps**

1. Go to test-dapp
2. Trigger Malicious Permit request
3. Observe ellipsis values in 
   a. spending cap in simulation
   b. value in the message

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

![CleanShot 2024-08-15 at 21 08
45](https://github.com/user-attachments/assets/020957dd-9204-40b6-afa2-9afacb80d9e0)

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

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

Allow `Footer` in Snap home pages, this works in the same way that the
new Snap dialogs does, with the exception that default footers are
turned off (e.g. a cancel button is not added automatically).

Also fixes a few padding problems with home pages. 

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

## **Related issues**

Closes: #25417

## **Manual testing steps**

1. Create a Snap that uses `<Footer>` in `onHomePage`
2. See that the footer now shows up
3. Install any existing Snap that doesn't use `Footer`
4. See that no footer is shown

## **Screenshots/Recordings**


https://github.com/user-attachments/assets/961ffa9e-59b4-452c-8b0f-906ba6e8c4be


![image](https://github.com/user-attachments/assets/0aecc66e-deb5-483b-acd2-504bc8679310)
<!--
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 is another incremental migration, to use the shared/core libraries.
This replaces the extension push controller for the
`@metamask/notification-services-controller` push service controller.

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

## **Related issues**

N/A

## **Manual testing steps**

Test full notifications flow, specifically the push notifications.

## **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
- [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]>
…omRPC event (#26266)

## **Description**

Rather than arbitrarily sending `sha256` hashes over the wire, we should
instead handle the lookup/grouping of custom rpcs client-side, and then
send over the meaningful resource identifiers of commonly used.

Benefits are:
1. No post processing necessary
2. Bypasses the need to hash at all, since `rpcIdentifierUtility` should
only return the rpc host when there's a match (not for private eth
nodes, for instance)

Note:

1. `useSafeChains` hook is inspired by to be merged implementation
[here](https://github.com/MetaMask/metamask-extension/blob/brian/salim-build-test/ui/pages/settings/networks-tab/networks-form/use-safe-chains.ts)

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

## **Related issues**

Fixes: MMASSETS-298

## **Manual testing steps**

1. Go to settings and add a Custom network from the custom network form
2. Event will be emitted with `sensitiveProperties` once network gets
added

## **Screenshots/Recordings**

N/A UX behavior should be the same

## **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: legobeat <[email protected]>
…nce chunked (#26425)

`async` script tags execute as soon as the script is downloaded, whereas `defer` will executes in DOM order. We use `async` in our bundle when chunked (by webpack), and this could result in the JS being executed out of order. I haven't actually seen this race condition occur, but it seems possible.
This PR introduces a manual testing scenario aimed at ensuring the seamless upgrade of MetaMask extension from previous branch to the release branch. The primary goal is to validate that the upgrade process preserves user data, maintains essential functionality, handles popup modals related to upgrade news correctly, and does not introduce any disruptions to the user experience.
#23106 added a version of `prettier-eslint` which uses prettier v3. This project otherwise uses prettier v2. This downgrades the package to the latest version still supporting prettier v2.

## **Related issues**

- #23106
- #24828

Co-authored-by: Mark Stacey <[email protected]>
## **Description**

In #18347, we changed
the driver option `responsive` to `openDevToolsForTabs`. This was
because we had a new test suite that intended to test browser behaviour
related to Service Worker restart on manifest v3 builds. Later changes
to chrome's mv3 implementation meant that service worker no longer
restarted, and those e2e tests no longer exist
(`test/e2e/mv3/service-worker-restart.spec.js`).

However, this change had an unwanted side effect on another test suite
(`test/e2e/tests/metamask-responsive-ui.spec.js`). As @Gudahtt puts it
in a slack message:

> It looks like in this PR, the responsive option in the Chrome
webdriver was replaced with openDevToolsForTabs. This is functionally
what that option did, but this doesn't match the semantic purpose for
why the browser opened the dev tools.

> Browser driver options are shared between the Firefox and Chrome
drivers, so now they don't match. The test suite meant to test our UI in
a small viewport is now passing in the openDevToolsForTabs option, but
this doesn't work for the Firefox browser because it doesn't recognize
that option. So the tests are "passing" but they aren't actually running
the steps that are meant to be under test.

This PR reverts the option to its original name.

---------

Co-authored-by: Mark Stacey <[email protected]>
## **Description**

Adds NEAR Icon for ChainId `397` and `398`. These chains are currently
new networks being integrated onto EVM. They are currently in
development, but it was requested from their team to preemptively add
these icons, before production RPC endpoints are available.

For context, here is their proposal:
near/NEPs#518

https://chainlist.org/chain/397
https://chainlist.org/chain/398

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

## **Related issues**

Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-343

## **Manual testing steps**

Once production RPCs are available, these icons should appear when NEAR
RPC gets added in custom networks.

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

Removes the modals prompting users to enable token + nft detection.

- Reverts #24281
- Reverts only the modal part of
#24547

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

## **Related issues**

## **Manual testing steps**

## **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 improve the network fee loading in the notification modal from ~3s
to ~1s.

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

Test opening a notification.

## **Screenshots/Recordings**

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

### **Before**

<img width="525" alt="Screenshot 2024-08-17 at 18 19 40"
src="https://github.com/user-attachments/assets/bb9abe49-cbc9-4767-82de-656004dadb53">

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

### **After**

<img width="523" alt="Screenshot 2024-08-17 at 18 20 44"
src="https://github.com/user-attachments/assets/c1ad87ba-54c3-487f-b6e7-7ba0e14d6478">

<!-- [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
- [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.
…ler (#26480)

## **Description**

This removes our old `MetaMaskNotificationsController` and uses our
shared `NotificationServicesController`. This controller is identical to
the old one, but replacing it so we have shared controllers for Mobile
and Extension.

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

Test Notifications flows

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

For a small number of users, migration 120.3 is failing due to invalid
`TransactionController.transactions` state. We aren't sure yet how this
is happening, but we can resolve the problem by updating the migration
to delete this invalid state if we detect it. No other state relies on
this state, and if it's invalid it won't work properly anyway.

The migration has been renamed from 120.3 to 120.6 so that it will be
re-run for any users who encountered this migration on v12.0.1 already.

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

## **Related issues**

Fixes #26423

## **Manual testing steps**

* Create a dev build from v12.0.0
* Install the dev build from the `dist/chrome` directory and proceed
through onboarding
* Run this command in the background console:
  ```
  chrome.storage.local.get(
    null,
    (state) => {
      state.data.TransactionController.transactions = {};
      chrome.storage.local.set(state, () => chrome.runtime.reload());
    }
  );
  ```
* Disable the extension
* Switch to v12.0.1 and create a dev build
* Enable and reload the extension
  * You should see in the console that migration 120.3 has failed
* Disable the extension
* Switch to this branch and create a dev build
* Enable and reload the extension
* You should see in the console that migration 120.6 has run without
error
* You can run `chrome.storage.local.get(console.log)` to check that the
transactions state has been removed.


## **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.
<!--
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 PR integrates the `SnapInsightsController` and ports the existing
insights functionality to use this controller instead of the existing
hooks. This replaces our existing implementations with a
`useInsightSnaps` hook that returns all insights for a given
confirmation ID directly from the UI state.

The intention is that this matches the existing implementation as much
as possible, with one caveat that the timing for loading the insights
might have changed. Each insight is now added to state as soon as the
Snap responds.

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

## **Related issues**

Closes: MetaMask/snaps#2568

## **Manual testing steps**

1. Install one or more transaction insights Snaps
2. Use the test-dapp to trigger transaction confirmations
3. See the transaction insights still works (including the modal)
4. Install one or more signature insights Snaps
5. Use the test-dapp to trigger signature confirmations
6. See that signature insights still works (including the modal)
…26449)

There are lots of tests that click a button in our popup window (AKA
"MetaMask Dialog") that _Eventually_ close the popup, but they don't
_wait_ for the popup to close before continuing on with the rest of the
test.

This can cause some race conditions due to the way our test
infrastructure finds windows (by title). The problem is that we look for
windows of the name "MetaMask Dialog", and in some cases we find 2, we
start referencing the first one, then it closes (as it should), and when
we try to reference it again Selenium throws (because the window no
longer exists).

So this PR introduces a new method
"driver.clickElementAndWaitForWindowToClose" that will click the element
(just as before), but then wait until the window closes before
returning.

Co-authored-by: Howard Braham <[email protected]>
The build instructions in the README are misleading at the moment because they make no reference to MV2. This could lead to contributors using MV3 builds with Firefox, leading to errors.

They have been updated to recommend the MV2 build commands when working with Firefox.
<!--
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 removes code fences for endowment:name-lookup Snap permission,
bringing this permission into main build out of Flask.

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

## **Related issues**

Fixes MetaMask/snaps#2621

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

- [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.
…d show tooltip if shortened (#26523)

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

## **Related issues**

Fixes: #26520

## **Manual testing steps**

1. Go to test-dapp
2. Use ethereum mainnet network
3. Test malicious permit 

to test lengthier value: 

1. run `yarn storybook`
2. go to
http://localhost:6006/?path=/story/pages-confirmations-confirm-signatures-signedtypeddatav3orv4--permit-story&args=msgParams.data:3.0001231231212312e+22
3. copy and paste the following into data
```
"{\"types\":{\"EIP712Domain\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"version\",\"type\":\"string\"},{\"name\":\"chainId\",\"type\":\"uint256\"},{\"name\":\"verifyingContract\",\"type\":\"address\"}],\"Permit\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\"}]},\"primaryType\":\"Permit\",\"domain\":{\"name\":\"MyToken\",\"version\":\"1\",\"verifyingContract\":\"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\"chainId\":1},\"message\":{\"owner\":\"0x935e73edb9ff52e23bac7f7e043a1ecd06d05477\",\"spender\":\"0x5B38Da6a701c568545dCfcB03FcB875f56beddC4\",\"value\":30001231231212312138768,\"nonce\":0,\"deadline\":50000000000}}"
```

## **Screenshots/Recordings**

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

### **Before**

<img width="320"
src="https://github.com/user-attachments/assets/d727cbf5-d729-4d31-b6fd-647692bdef30">

### **After**
<img width="320"
src="https://github.com/user-attachments/assets/4171d4b9-44ca-418d-8f79-017f59d8edfc">

### **After with tooltip showing on lengthy fiat value**
<img width="320"
src="https://github.com/user-attachments/assets/9f2dfcbe-3f34-4ce3-9394-667f4fd2dd54">


## **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**
Because of concerns around Snap custom UI address component not working
as intended with _Pet Names_, decision was made to disable it's
interactive UX and display shortened hexadecimal address instead of
showing _Pet name_.

Changes on this PR will make Address component to ignore clicks and
triggering the modal for nicknames.

Changes are applied only to Snaps related flows where Snaps components
(custom UI) are used.

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

## **Related issues**
Fixes: MetaMask/MetaMask-planning#2965

## **Manual testing steps**
1. Try using a Snap with Custom UI which has Address component.
2. Try clicking on the Address component.
3. Nothing should happen when Address component is clicked.
4. Make sure that address component is not displaying nicknames (only
short hex address is required).

## **Screenshots/Recordings**
### **Before**
![Screenshot 2024-08-19 at 16 49
24](https://github.com/user-attachments/assets/fa9a83a4-5255-42ed-97af-39f4606de365)

### **After**
Customized Interactive UI Snap for the test case, just for reference:
![Screenshot 2024-08-19 at 16 44
51](https://github.com/user-attachments/assets/260b7afa-65f8-446b-aa78-8c3f95b0ae30)

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

<!--
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 PR fixes an issue where the STX status screen for a swap was
showing a 0:00 for the timer.

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

## **Related issues**

Related to: #25063

## **Manual testing steps**

1. Make sure Smart Transactions is on (Settings > Advanced)
2. Do a Swap
3. Observe that timer is not 0:00 and is a reasonable number

## **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/139582705/26fe6167-614f-4771-b35b-10803bc23fc0



### **After**

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


https://github.com/MetaMask/metamask-extension/assets/139582705/d92b933d-1011-48b4-bf04-344f275d35db



## **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
- [ ] 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: Marta Poling <[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?
-->

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

After migrating the global unit tests from Mocha to Jest, the
`protect-intrinsics` test started to fail. It seems that the jest
environment is not compatible with the lockdown `protect-intrinsics`
intends to test. Furthermore, as this test is testing the lockdown of
the browser environment, it would probably make more sense to test it in
a browser.

For this reason, this PR migrates the protect-intrinsics test to run as
part of the e2e test suite, as the browser would be a better test
environment, closer to production.

## **Related issues**

Fixes: MetaMask/MetaMask-planning#2907

## **Manual testing steps**

1. Run `test:e2e:global` and see the tests pass

## **Screenshots/Recordings**

Not applicable

## **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.
@hjetpoluru hjetpoluru requested review from a team and kumavis as code owners September 27, 2024 15:16
@hjetpoluru
Copy link
Contributor

hjetpoluru commented Sep 27, 2024

Manual test scenarios:

Chrome:

  • Onboarding - create a wallet
  • Transactions - speed up transaction
  • Transactions - cancel transaction
  • Transactions - cancel transaction using same nonce
  • Tokens - import ERC1155 token origin dapp - Watch NFT asset is not responsive even if you click multiple times, after that it spams you with multiple NFT imports in the same list which is not accurate
  • Tokens - autodetect tokens
  • ENS - name resolution
  • Network - switching networks
  • Network - delete networks from the dropdown list
  • Address-book - add a contact to the address book
  • Sign - sign typed data v3 with hardware wallet - (ledger and trezor only supports for sign typed data v4)
  • Sign - sign typed data v4 with hardware wallet
  • Sign - personal sign with hardware wallet
  • Swap - smart swap
  • Settings - about metamask - ui validation
  • Settings - advanced - check custom nonce toggle
  • Settings - advanced - show test networks
  • Contract - deploy contract, mint and import NFT with hardware wallet
  • Contract - hardware wallet qr based connect
  • Upgrade Testing from Master to Release Branch

Firefox:

  • Onboarding - create a wallet
  • Transactions - speed up transaction
  • Transactions - cancel transaction
  • Transactions - cancel transaction using same nonce
  • Tokens - import ERC1155 token origin dapp
  • Tokens - autodetect tokens
  • ENS - name resolution
  • Network - switching networks
  • Network - delete networks from the dropdown list
  • Address-book - add a contact to the address book
  • Sign - sign typed data v3 with hardware wallet - only support sign typed data v4 with ledger and trezor
  • Sign - sign typed data v4 with hardware wallet - test passed with trezor
  • Sign - personal sign with hardware wallet - test passed with trezor
  • Swap - smart swap
  • Settings - about metamask - ui validation
  • Settings - advanced - check custom nonce toggle
  • Settings - advanced - show test networks
  • Contract - deploy contract, mint and import NFT with hardware wallet - passed with trezor (ledger not supported)
  • Contract - hardware wallet qr based connect
  • Upgrade Testing from Master to Release Branch

Copy link
Contributor

@georgewrmarshall georgewrmarshall left a comment

Choose a reason for hiding this comment

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

🟢 Approving for @MetaMask/design-system

  • no design system changes

@metamaskbot
Copy link
Collaborator Author

Builds ready [bc08781]
Page Load Metrics (1925 ± 69 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint17642390193214670
domContentLoaded17192381190014168
load17272393192514369
domInteractive17196464019

This PR cherry-picks the commit
[ab37660](ab37660)
(#27543) into the
release v12.4.0
@plasmacorral
Copy link
Contributor

🟢 Approving for Accounts team, including the cherry pick to place Account watcher into flask only.

<!--
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 cherry-picks
#26963
<!--
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/27537?quickstart=1)

## **Related issues**

Fixes: #27486

## **Manual testing steps**

1. Started a tx
2. Disable the wallet from the chrome://extensions site
3. Enable it again
4. Try to Reject the tx
5. Tx unapproved disappears

## **Screenshots/Recordings**


[clean-unapproved-tx.webm](https://github.com/user-attachments/assets/87661d40-7eb9-4ff4-8c97-596be14dc85d)


<!-- 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: Matthew Walsh <[email protected]>
Co-authored-by: MetaMask Bot <[email protected]>
@metamaskbot
Copy link
Collaborator Author

Builds ready [f072921]
Page Load Metrics (1957 ± 162 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint28429101774562270
domContentLoaded157229001919322154
load158429821957337162
domInteractive14214616129

matthewwalsh0 and others added 2 commits October 4, 2024 17:11
…27627)

<!--
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 cherry-picks
#27594 for Version
12.4.0.
<!--
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/27627?quickstart=1)

## **Related issues**

Fixes: #27525

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

Builds ready [fabf62d]
Page Load Metrics (2002 ± 127 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint22624911931460221
domContentLoaded165023901972243116
load166225392002264127
domInteractive167134136

@metamaskbot metamaskbot added release-12.5.0 Issue or pull request that will be included in release 12.5.0 labels Oct 7, 2024
@metamaskbot
Copy link
Collaborator Author

No release label on PR. Adding release label release-12.5.0 on PR, as PR was added to branch 12.5.0 when release was cut.

1 similar comment
@metamaskbot
Copy link
Collaborator Author

No release label on PR. Adding release label release-12.5.0 on PR, as PR was added to branch 12.5.0 when release was cut.

Gudahtt and others added 2 commits October 8, 2024 13:19
## **Description**

The advisory GHSA-593m-55hh-j8gv has been
temporarily ignored, just for v12.4.x. This is resolved by a dependency
update in v12.5.0, but the update included too many functional changes,
so we deemed it too risky to backport in this release.

The impact is expected to be negligable due to our use of LavaMoat and
SES lockdown.


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

## **Related issues**

The audit advisory was resolved here on `develop`:
#27620

And it was back ported to v12.5.0 here:
#27673

## **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.
…ks between transactions (#27634)

## **Description**

Nonce in state should be reset correctly when switching between
different networks.
The issue is already fixed in develop by PR:
#27297

## **Related issues**

Fixes: #27657

## **Manual testing steps**

1. Connect to Arbitrum
2. Submit transaction with the high nonce
3. Observe it fails with Internal JSON RPC error
4. Switch to BNB Chain
5. Start a transaction
6. Transaction is created with correct nonce

## **Screenshots/Recordings**
NA

## **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.
@metamaskbot
Copy link
Collaborator Author

Builds ready [9446efa]
Page Load Metrics (1823 ± 91 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint15532395182218790
domContentLoaded15432383179618689
load15512399182318991
domInteractive23175483818

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

Fix changelog for v12.4.0

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27558?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.

---------

Co-authored-by: Dan J Miller <[email protected]>
@danjm
Copy link
Contributor

danjm commented Oct 8, 2024

@SocketSecurity ignore-all

  • The new author is a known ethereum contributor
  • network access in metamask dependencies are from code we have written and necessary for those libraries to function properly
  • network access in axios and contentful are fundamental to how those two, widely used, libraries operate
  • The native code in keccak has been there for many years without update while the library has been used within many libraries fundamental to the eth ecosystem. The native code is to be expected for a library that "provides native bindings to Keccak sponge function family from Keccak Code Package. In browser pure JavaScript implementation will be used."

@metamaskbot
Copy link
Collaborator Author

Builds ready [dfbead6]
Page Load Metrics (1727 ± 82 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint19426581590511245
domContentLoaded15742230168914268
load15872379172717082
domInteractive12131312612

@danjm danjm merged commit 73ad771 into master Oct 8, 2024
79 checks passed
@danjm danjm deleted the Version-v12.4.0 branch October 8, 2024 21:10
@github-actions github-actions bot locked and limited conversation to collaborators Oct 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
release-12.5.0 Issue or pull request that will be included in release 12.5.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.