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 v11.17.0 #24347

Closed
wants to merge 109 commits into from
Closed

Version v11.17.0 #24347

wants to merge 109 commits into from

Conversation

benjisclowder
Copy link
Contributor

Adding RC 11.17.0

salimtb and others added 30 commits April 25, 2024 15:32
<!--
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**

 here are the different fixes that this PR contains:

collision of two networks with the same chainId but with two different
symbols ==> solution: manage this as a special case, add the other
network and extend the list https://chainid.network/chains.json

scam warning displayed for networks running on localhost ==> exclude
from network verification all networks running on localhost.

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

## **Related issues**

Fixes: #23242 

## **Manual testing steps**

1. Go to add network page
2. Go to custom add network form
3. Add the network with chainID 78 and rpc https://rpc.wethio.io/ and
symbol ZYN

## **Screenshots/Recordings**

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

### **Before**

<!-- [screenshots/recordings] -->
<img width="1097" alt="Screenshot 2024-03-29 at 10 49 00"
src="https://github.com/MetaMask/metamask-extension/assets/26223211/417cb1df-7a9f-4da2-8965-3f376b55c6b4">

<img width="1087" alt="Screenshot 2024-03-29 at 10 49 18"
src="https://github.com/MetaMask/metamask-extension/assets/26223211/126f5fa4-6454-4e0f-837c-c785ae2083f1">

### **After**
<img width="706" alt="Screenshot 2024-03-29 at 10 35 41"
src="https://github.com/MetaMask/metamask-extension/assets/26223211/57edb3f7-bd5b-4da6-8a00-2ea0c9c75aab">



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

This PR introduces the
[@metamask/eslint-plugin-design-tokens](https://github.com/MetaMask/eslint-plugin-metamask-design-tokens)
library to the MetaMask extension codebase, along with the
implementation of the
[color-no-hex](https://github.com/MetaMask/eslint-plugin-design-tokens/blob/main/docs/rules/color-no-hex.md)
rule. This rule aims to prevent the use of static hex color values in
our `.js`, `.ts` and `.tsx` files encouraging instead the adoption of
design tokens. The motivation behind this change is to ensure our
styling remains consistent with the MetaMask design system, enhancing
themability, accessibility, and overall alignment with our design
principles. Additionally, this update is a crucial step towards enabling
the seamless rollout of future brand evolution within MetaMask, ensuring
that our UI can adapt to new design standards with minimal effort.

## **Related issues**

Fixes: #24111

## **Manual testing steps**

To ensure the successful integration of the
`eslint-plugin-design-tokens` and the effectiveness of the
`color-no-hex` rule:
1. Install the updated dependencies by running `yarn install`.
2. Execute `yarn lint:check` to identify any instances of static hex
color values.
3. Review the linting output and update any flagged instances to use the
corresponding design tokens.
4. Navigate through the extension's UI to verify that the updates
maintain visual consistency and adhere to the design system.

## **Screenshots/Recordings**

### **Before**


https://github.com/MetaMask/metamask-extension/assets/8112138/b883f26c-f0e1-4356-b828-58531a76799a

### **After**


https://github.com/MetaMask/metamask-extension/assets/8112138/bb9b0d53-ef8b-44bf-a913-b6ae73b6df4d

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

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

The "Receive tokens" modal doesn't have padding around the
AddressCopyButton and it looks bad. This PR adds padding in.

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1. On the wallet screen, click "Receive tokens"
2. See padding around the AddressCopyButton

## **Screenshots/Recordings**

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

### **Before**


<img width="382" alt="SCR-20240423-kyfy"
src="https://github.com/MetaMask/metamask-extension/assets/46655/4f3bdc48-43b7-4d78-a4fc-9018dc4ddd0f">


### **After**

<img width="375" alt="SCR-20240423-kybe"
src="https://github.com/MetaMask/metamask-extension/assets/46655/4599a033-233f-431c-9aa3-10485ec5fab0">



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

This PR introduces a new SW (Service Worker) and a new controller for
managing push notifications.

This integration, due to the differences between MV2 and MV3 regarding
the use of background scripts and the SW, is only related to the
manifest V2. For the manifest V3, part of this logic will be modified,
using the extension's own service worker as a starting point. With
manifest V2, on the contrary, it is necessary to initialize a dedicated
service worker so that FCM (Firebase Cloud Messaging) can handle
messages received in the background.

The final UI will allow the user to enable/disable the receipt of
notifications. However, this PR concerns only the

new controller and the build management for the creation of the SW.

The new controller will work in accordance with two other controllers
for managing authentication and for managing the triggers necessary to
receive notifications.

## **Related issues**

No related issues.

Fixes:

## **Manual testing steps**

At the moment, the necessary environment variables have not been
inserted into the build process. To test the branch locally, feel free
to ask me for the env to insert into your local .metamaskrc file

## **Screenshots/Recordings**

In this video, I show the interaction between a test server for sending
notifications and the extension:

https://www.loom.com/share/702fc6a8aea74510acdb1bfac614fa4a

### **Before**

### **After**

Check the entire flow here
https://www.figma.com/file/c7GgNw2kScGrVyRGAPhwEd/Notifications?type=design&node-id=484%3A44713&mode=design&t=QsKrmdqZnx42IrMt-1

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [ ] 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.
- [x] I’ve properly set the pull request status:
  - [x] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

---------

Co-authored-by: Prithpal Sooriya <[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**

On-hover behavior for Connected Site on All Permissions screen.
Sites listed on the All Permissions screen should have an [on-hover bg
color](https://metamask.github.io/metamask-storybook/?path=/docs/components-ui-listitem--docs)
to indicate that they are clickable and will take users to a different
screen.

Snaps are removed from Permissions page

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



https://github.com/MetaMask/metamask-extension/assets/11148144/34b4599c-d96c-40be-85a3-c0983df40446



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

Adds support for transactionType.contractInteraction on the redesign
routes and creates the new component.

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

## **Related issues**

Fixes: #23944 

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

The custom token approval utility function in
[`ui/pages/confirmations/confirm-approve/confirm-approve.util.js`](https://github.com/MetaMask/metamask-extension/compare/develop...horsefacts:horsefacts/approval-calldata-tags?expand=1#diff-2df42ad862369436640f1683e9c5408b24f418028dad44840da1609587b6938c)
parses ERC20 `approve` calldata and reconstructs it with an optional
custom value.

This utility validates that the length of the parsed `value` amount is
exactly 64 hex digits, assuming all calldata bytes after the `spender`
are the `value` and the value is a `uint256`. However, this validation
is too strict: it's possible for the calldata to include extra bytes
following the value, which the contract will ignore in the call to
`approve`. These are valid transactions.

Including a "calldata tag" for onchain attribution or analytics is an
increasingly popular pattern. For example,
[Seaport](https://opensea.notion.site/Seaport-Order-Attributions-ec2d69bf455041a5baa490941aad307f)
uses calldata tags for order attribution,
[Viem](https://viem.sh/docs/contract/writeContract#datasuffix) provides
a `dataSuffix` option, and Farcaster clients append an [attribution
suffix](https://warpcast.notion.site/Frame-Transactions-Public-9d9f9f4f527249519a41bd8d16165f73#ef8e2e7eac9a42808087ee30c8ff15f5)
to transactions from Farcaster frames.

This utility should instead parse the first 64 bytes of the `value` and
preserve any extra calldata.

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

## **Screenshots**

Error screenshot:

![error
image](https://github.com/MetaMask/metamask-extension/assets/109845214/4310f436-ca34-427e-8aaa-a17b863014cc)


## **Related issues**

Previous issue in seaport-js:
ProjectOpenSea/seaport-js#215

## **Manual testing steps**

1. Create an ERC20 `approve` with a calldata suffix. For example, using
Viem:

```ts
await walletClient.writeContract({
  address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
  abi: erc20Abi,
  functionName: 'approve',
  args: ['0x0000000000000000000000000000000000000001', 69420],
  dataSuffix: '0xdeadbeef'
});
```

2. Execute the transaction in Metamask.

## **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 clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] 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.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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: Christian Montoya <[email protected]>
Co-authored-by: Alex Donesky <[email protected]>
This PR is to add e2e test for connections page for the following
features:
1. Disconnect Account Flow
2. Connect More Accounts flow

## **Related issues**

Fixes: #24166 

## **Manual testing steps**

1. Create test build for Multichain
2. Run the test for this file `MULTICHAIN=1 yarn test:e2e:single
--browser=chrome test/e2e/tests/connection-page.spec.js --leave-running`

## **Screenshots/Recordings**


NA it's a test

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

Hides installing Snaps from the Snaps menu until they have finished
installation to prevent a bad state where users could modify Snaps
before they were fully installed.

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

## **Related issues**

Fixes: MetaMask/snaps#2354
)

<!--
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 #23015

Converting the level 5 dependency files to typescript for contributing
to metamask-controller.js.
<!--
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/23888?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 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 aims to add an alert modal component and respective reducers,
hooks, and selectors in the UI layer to support generic alerts.
<!--
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/23625?quickstart=1)

## **Related issues**

Fixes: MetaMask/MetaMask-planning#2243 and
MetaMask/MetaMask-planning#2255
<!--
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 aims to update latest `@metamask/user-operation-controller`. 

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

N/A

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

Co-authored-by: legobeat <[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**

Adding the e2e infra for confirmation redesign. Created two new jobs for
chrome and FF following the pattern of multichain

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

Create e2e tests:

 Navigation (signatures only)

- [x]  I can navigate through multiple signatures
- [x]  I can reject all signatures at once
- [x]  I can reject/accept signatures one by one

 Navigation (mix transaction + signatures)

- [ ]  I can navigate through multiple signatures and transactions
- [ ]  I can reject all signatures and transactions at once
- [ ]  I can reject/accept signatures and transactions one by one

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

## **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**
Following #23398, This PR is the second part to reorganize the test/e2e
repository to create a structure that is both well-organized and easy to
navigate.

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

## **Related issues**

Fixes: #23296

## **Manual testing steps**

Check if the organization is logical.

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

Fixes flakiness on remove NFT e2e test

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


https://github.com/MetaMask/metamask-extension/assets/10994169/4b7a7a32-817e-4486-95f4-c88a8ed4f9a8



### **After**

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


https://github.com/MetaMask/metamask-extension/assets/10994169/c5238b94-6a50-4cb7-af8f-57751b4c80dc


## **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.
…arket" (#24287)

## **Description**

See Issue #24263
for investigation details

This will be a hotfix targeting v11.14.3

## **Related issues**

Fixes: #24263

## **Manual testing steps**

One way to repro is by adding the Scroll Sepholia Testnet (see:
https://docs.scroll.io/en/user-guide/setup/), then using our test dapp >
Send Eth > Send

For other repro methods, please refer to the related issue ticket

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

Co-authored-by: Matthew Walsh <[email protected]>
…iting transaction from NFT to Native Currency (#23797)

## **Description**

When create E2Es for the new send flow, editing a transaction from
sending an NFT to sending native currency was throwing an Internal
JSON-RPC Error. After discussion with @matthewwalsh0 , using `0x` as the
gas reset is the solution.

https://consensys.slack.com/archives/C03ETQA9EPK/p1713324192690549

Also adds an end to end test for ensuring that switching assets between
a token to an NFT properly updates the asset.

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1.  Start the new send flow
2. Choose an NFT, continue
3. Click "edit"
4. Choose the native currency 
5. Confirm the send
6. All should work

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

- [ ] 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.
The build script has an option `--snow` that is supposed to enable or
disable snow, but several parts of the build process don't respect it.
This hasn't been a problem since the `static.js` part of the build
process just makes the snow.js file used by the application a no-op.
This PR changes it so that the snow.js (and related) file just never get
imported when `snow` has been disabled.

This PR is also prep for the webpack build, which also uses this `snow`
flag.
<!--
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**

Use of a wrong field name which ends up as an error once published.


![ses-user-ops](https://github.com/MetaMask/metamask-extension/assets/569258/a36cd9e3-a6cd-491d-9341-3db768048fcb)


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

## **Related issues**

Fixes: MetaMask/accounts-planning#359

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

- [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: Gustavo Antunes <[email protected]>
…on (#24306)

## **Description**
Update transaction-controller core package to bring in this fix to NFT
mint simulation: MetaMask/core#4217

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

## **Related issues**

Fixes: #24251

## **Manual testing steps**

1. Visit https://www.fxhash.xyz/generative/slug/g-l-y-p-h 
2. Try minting the nft
3. Simulation should work and show the nft in the "You receive" section.

## **Screenshots/Recordings**

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

### **Before**

(Simulation Failed message)

### **After**


![image](https://github.com/MetaMask/metamask-extension/assets/507015/ded0173a-088c-4f12-b3b6-09b823db7756)

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

Test flow needed to be updated after a UI change in the "connection
flow" for MM, related with this PR:
#23557


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

This PR updates the background color of the checkbox component from
transparent to white across the MetaMask extension. The motivation
behind this change is to enhance the visibility and contrast of the
checkbox against various backgrounds, and align it with the Figma
component

Component in Figma showing background default

![Screenshot 2024-04-26 at 8 12
45 AM](https://github.com/MetaMask/metamask-extension/assets/8112138/5dbc98da-08f8-4f23-a6f0-1441aaa617ec)


## **Related issues**

Fixes: N/A

## **Manual testing steps**

To ensure the checkbox component's background color update is correctly
implemented:
1. Navigate to Checkbox in storybook
2. Change the background color in dev tools
3. See background color has been updated

## **Screenshots/Recordings**

### **Before**


https://github.com/MetaMask/metamask-extension/assets/8112138/8e69d3cb-3742-4f49-adf8-fb932d0c3c42

### **After**


https://github.com/MetaMask/metamask-extension/assets/8112138/fd4a6c1e-840c-4416-86bd-cfb52730ad4f

## **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.
- [x] I’ve properly set the pull request status to "ready for review".

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g., pull and build branch, run the
app, visually inspect the checkbox component).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as screenshots or recordings.

This PR represents a significant improvement in the usability and
accessibility of the MetaMask extension, ensuring that all users can
easily interact with and visually distinguish the checkbox component,
regardless of the background.
<!--
## **Description**
This PR aims to introduce a multiple alert component leveraging
`AlertModal` component and improving by adding an extra navigation to go
through existing non-confirmed alerts. Additionally, reducers, ducks and
hooks are also included to support and manage the alert state.
## **Description**

This PR changes the management of three states handled by the controller
to make their definition assertive.

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

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

- [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**
This test covers images in the snaps UI.

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

## **Related issues**

Fixes: #24298

## **Manual testing steps**

1. Manually execute the E2E test or check CI for completion

## **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.
…24319)

## **Description**

Ensures that ERC1155s sends are no longer editable

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

## **Related issues**

Fixes: #24320

## **Manual testing steps**

See issue for STRs

## **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.
rekmarks and others added 3 commits May 10, 2024 10:58
Removes RPC handler hooks that had become unused. In order to prevent
this from occurring again, also adds a check to fail immediately on dapp
connections if extraneous hooks are provided. Finally, adds tests for
`createMethodMiddleware.js`.
…ing (#24475)

## **Description**

In the PR to release Multichain v1
(#24362) we didn't
prevent the legacy `<UnconnectedAccountAlert/>` from displaying, which
is problematic -- it overlays the toast and isn't desired. This PR
prevents that legacy component from ever displaying.

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1. Go to MetaMask Portfolio dApp
2. Connect Account 1
3. Open MetaMask, switch to Account 2
4. Don't see old `<UnconnectedAccountAlert/>` component

## **Screenshots/Recordings**

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

### **Before**

See the old component

### **After**

See only the toast

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

The toast for connecting an unconnected account on a given dapp can be
turned on and off via settings toggle. Presently the toast always
displays regardless of the setting, so this PR makes the toast respect
the user setting.

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

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1.  Make sure MetaMask has 2 accounts; be on Account 1
2. Go to MetaMask Portfolio dapp, connect Account 1
3. Open MetaMask and switch to Account 2
4. See the "Connect this account?" toast
5. Click the three-dot menu, choose "Settings", and click "Alerts"
6. Toggle off the "Browsing a website with an unconnected account
selected" setting
7. Return to the home screen
8. No longer see the toast

## **Screenshots/Recordings**

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

### **Before**

(the toast always displays)

### **After**



https://github.com/MetaMask/metamask-extension/assets/46655/7d1e4636-28d2-461b-a477-1085cb7a24a7



## **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.
@hjetpoluru hjetpoluru changed the base branch from master to Version-v11.16.0 May 10, 2024 21:28
@metamaskbot
Copy link
Collaborator

Builds ready [ad346f4]
Page Load Metrics (887 ± 541 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint6213087178
domContentLoaded86213115
load5126298871126541
domInteractive86213115
Bundle size diffs
  • background: 0 Bytes (0.00%)
  • ui: 0 Bytes (0.00%)
  • common: 0 Bytes (0.00%)

@benjisclowder
Copy link
Contributor Author

benjisclowder commented May 11, 2024

Manual test scenarios:

Chrome

  • Onboarding - create a wallet
  • Onboarding - import a wallet
  • Keyring - connect hardware wallet
  • Keyring - reset a wallet
  • Transactions - send native token origin MM
  • Transactions - send native token origin dapp
  • Transactions - send ERC20 token origin MM
  • Transactions - send ERC20 token origin dapp
  • Transactions - send ERC721 token origin MM
  • Transactions - send ERC721 token origin dapp
  • Transactions - speed up transaction
  • Transactions - cancel transaction
  • Transactions - deploy failing transaction
  • Transactions - deposit and withdraw
  • Transactions - navigate multiple transactions
  • Transactions - send transactions with custom nonce
  • Transactions - cancel transaction using same nonce
  • Tokens - import ERC20 token origin MM
  • Tokens - import ERC20 token origin dapp
  • Tokens - import ERC721 token origin MM
  • Tokens - import ERC721 token origin dapp
  • Tokens - import ERC1155 token origin MM
  • Tokens - import ERC1155 token origin dapp
  • Tokens - approve ERC1155 token
  • Tokens - approve ERC20 token
  • Tokens - approve ERC721 token
  • Tokens - autodetect tokens
  • Tokens - autodetect NFTs
  • Tokens - approve erc20 custom amount
  • ENS - name resolution
  • Phishing - warning page
  • Network - add custom network manually
  • Network - add custom network from the list of popular networks
  • Network - add custom network from dApp
  • Network - update networks
  • Network - switching networks
  • Network - delete networks from the dropdown list
  • Network - delete networks in Settings
  • Backup - backup user data
  • Backup - restore user data
  • Metrics - send event metrics
  • Address-book - add a contact to the address book
  • Address-book - remove a contact from the address book
  • Address-book - update a contact in the address book
  • Gas fee - EIP-1559 gas
  • Gas fee - legacy gas
  • Sign - eth sign
  • Sign - personal sign
  • Sign - sign in with ethereum
  • Sign - sign typed with data
  • Sign - sign typed data v3 with hardware wallet
  • Sign - sign typed data v4 with hardware wallet
  • Sign - personal sign with hardware wallet
  • Sign - eth sign with hardware wallet
  • Permissions - connecting and disconnecting from a dapp
  • Swap - smart swap
  • Swap - swap eth
  • Incoming transactions - receive native token
  • Settings - about MetaMask
  • Settings - general - change language
  • Settings - advanced - check custom nonce toggle
  • Settings - advanced - show hex data
  • Contract - deploy contract, mint and import NFT with hardware wallet
  • Contract - hardware wallet qr based connect
  • Contract - send token with hardware wallet

Firefox

  • Onboarding - create a wallet
  • Onboarding - import a wallet
  • Keyring - connect hardware wallet
  • Keyring - reset a wallet
  • Transactions - send native token origin MM
  • Transactions - send native token origin dapp
  • Transactions - send ERC20 token origin MM
  • Transactions - send ERC20 token origin dapp
  • Transactions - send ERC721 token origin MM
  • Transactions - send ERC721 token origin dapp
  • Transactions - speed up transaction
  • Transactions - cancel transaction
  • Transactions - deploy failing transaction
  • Transactions - deposit and withdraw
  • Transactions - navigate multiple transactions
  • Transactions - send transactions with custom nonce
  • Transactions - cancel transaction using same nonce
  • Tokens - import ERC20 token origin MM
  • Tokens - import ERC20 token origin dapp
  • Tokens - import ERC721 token origin MM
  • Tokens - import ERC721 token origin dapp
  • Tokens - import ERC1155 token origin MM
  • Tokens - import ERC1155 token origin dapp
  • Tokens - approve ERC1155 token
  • Tokens - approve ERC20 token
  • Tokens - approve ERC721 token
  • Tokens - autodetect tokens
  • Tokens - autodetect NFTs
  • Tokens - approve erc20 custom amount
  • ENS - name resolution
  • Phishing - warning page
  • Network - add custom network manually
  • Network - add custom network from the list of popular networks
  • Network - add custom network from dApp
  • Network - update networks
  • Network - switching networks
  • Network - delete networks from the dropdown list
  • Network - delete networks in Settings
  • Backup - backup user data
  • Backup - restore user data
  • Metrics - send event metrics
  • Address-book - add a contact to the address book
  • Address-book - remove a contact from the address book
  • Address-book - update a contact in the address book
  • Gas fee - EIP-1559 gas
  • Gas fee - legacy gas
  • Sign - eth sign
  • Sign - personal sign
  • Sign - sign in with ethereum
  • Sign - sign typed with data
  • Sign - sign typed data v3 with hardware wallet
  • Sign - sign typed data v4 with hardware wallet
  • Sign - personal sign with hardware wallet
  • Sign - eth sign with hardware wallet
  • Permissions - connecting and disconnecting from a dapp
  • Swap - smart swap
  • Swap - swap eth
  • Incoming transactions - receive native token
  • Settings - about MetaMask
  • Settings - general - change language
  • Settings - advanced - check custom nonce toggle
  • Settings - advanced - show hex data
  • Contract - deploy contract, mint and import NFT with hardware wallet
  • Contract - hardware wallet qr based connect
  • Contract - send token with hardware wallet

@benjisclowder
Copy link
Contributor Author

benjisclowder commented May 14, 2024

We need teams' approval by May 22.

Instructions for Team Review

Review Changes: Refer to the Release Tracker for v11.17.0 to see all changes relevant to your team.

Log Bugs: If you find any issues, log them in the release tracker and attach them to https://github.com/MetaMask/MetaMask-planning/issues/2467.

Approval: After reviewing, indicate your team's approval by:

  • Marking the checkbox next to your team's name in this comment.
  • Optionally, leave a comment for additional information.

Your thorough review ensures a smooth and successful release. If you have any questions please reach out to extension platform team or in the #metamask-qa slack channel. Thank you for your collaboration!

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.

@metamaskbot
Copy link
Collaborator

Builds ready [ae3a260]
Page Load Metrics (1032 ± 569 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint721711013014
domContentLoaded106721157
load59267010321185569
domInteractive106721157
Bundle size diffs
  • background: 0 Bytes (0.00%)
  • ui: 30 Bytes (0.00%)
  • common: 0 Bytes (0.00%)

digiwand and others added 3 commits May 20, 2024 11:15
…ions" metric (#24484) (#24526)

## **Description**

Cherry-pick
[26d38d9](26d38d9317d9e74284132633d93b9f29786acb94)(https://github.com/MetaMask/metamask-extension/pull/24484)
into v11.17.0

## **Related issues**

Fixes: #24483

## **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.
…d "Confirm" button with 16px or less scroll buffer (#24527)

<!--
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-pick
[0e775fd](0e775fd)
(#24489) into
v11.17.0

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

## **Related issues**

Fixes: #24485

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

Builds ready [bd5f6ca]
Page Load Metrics (690 ± 457 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint65145892412
domContentLoaded94716126
load532273690953457
domInteractive94716126
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 420 Bytes (0.01%)
  • ui: 35 Bytes (0.00%)
  • common: 89 Bytes (0.00%)

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

No outstanding conflicts.

Cherry picks commit:
4cf7e80
Pull request: #24581


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

---------

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

Builds ready [7d4dcd4]
Page Load Metrics (1804 ± 558 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint691911204019
domContentLoaded9371674
load49295818041162558
domInteractive9371674
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 420 Bytes (0.01%)
  • ui: 35 Bytes (0.00%)
  • common: 89 Bytes (0.00%)

Base automatically changed from Version-v11.16.0 to master May 23, 2024 22:07
@gauthierpetetin gauthierpetetin added release-12.0.0 Issue or pull request that will be included in release 12.0.0 and removed release-11.17.0 labels Jun 6, 2024
@metamaskbot metamaskbot added the release-11.17.0 Issue or pull request that will be included in release 11.17.0 label Jun 6, 2024
@benjisclowder
Copy link
Contributor Author

Closing this PR as 11.17.0 was included in 12.0.0.

@jpuri jpuri deleted the Version-v11.17.0 branch September 11, 2024 16:14
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
INVALID-PR-TEMPLATE PR's body doesn't match template release-11.17.0 Issue or pull request that will be included in release 11.17.0 release-12.0.0 Issue or pull request that will be included in release 12.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.