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

test: merge queue develop sync #27035

Merged
merged 80 commits into from
Sep 11, 2024
Merged

Conversation

seaona
Copy link
Contributor

@seaona seaona commented Sep 10, 2024

Description

Open in GitHub Codespaces

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

digiwand and others added 30 commits September 3, 2024 20:17
…erFrom simulation "Spending cap" (#26684)

<!--
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 PermitSingle, PermitBatch, PermitTransferFrom,
PermitBatchTransferFrom simulation to use their respective provided
token and amount in token details.

Additionally:
- adjusts styles to have an 8px gap between each "Spending Cap" entry
and right align content
- create PermitSimulationValueDisplay component to separate individual
token contract value logic
- adds tests
- adds sentry error to capture exception in case token isn't provided
for the relevant primaryTypes

dev note: majority of the newlines come from updated and new test
snapshots

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

## **Related issues**

Fixes: #26591
(PermitSingle)
Fixes: #26592
(PermitBatch)
## **Manual testing steps**

Test PermitSingle & PermitBatch with Improved Signature setting enabled

See related issues for repro steps

## **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/aac7fa8c-285a-4d2b-bcec-84c7fc6245bf">
<!-- [screenshots/recordings] -->
See Issue screenshots

### **After PermitBatch**

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

![image](https://github.com/user-attachments/assets/4564530d-1c3d-430b-b821-15ed0fca6152)

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

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

## **Related issues**

Fixes:

## **Manual testing steps**

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

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Update copy and corresponding tests.

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

## **Related issues**

Fixes: MetaMask/MetaMask-planning#3063

## **Manual testing steps**

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

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

This PR introduces an event to track the use or non-use of basic
functionality. This event was introduced to allow tracking of the status
of features—like notifications—that depend on external services and need
to be turned off if the user decides not to use the basic features.

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

## **Related issues**

N/A

## **Manual testing steps**

You can follow the standard procedure for testing the events as
described in the README.

## **Screenshots/Recordings**

N/A

### **Before**

N/A

### **After**

N/A

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Moves the portfolio button so that it's next to the token price amount.

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

## **Related issues**

Fixes: MetaMask/MetaMask-planning#3201

## **Manual testing steps**

1. Go to the portfolio page
2. Check that the Portfolio button is present next to the price amount
of token
3. Click it to test it works fine

## **Screenshots/Recordings**

<img width="324" alt="Screenshot 2024-09-03 at 22 57 32"
src="https://github.com/user-attachments/assets/ab9a9818-d9d1-438e-9b66-1335c4e8c1c6">
<img width="331" alt="Screenshot 2024-09-03 at 22 58 54"
src="https://github.com/user-attachments/assets/f260799c-9e22-40dd-8fb8-1d26d3c011ed">



### **Before**

<img width="348" alt="Screenshot 2024-09-03 at 15 46 36"
src="https://github.com/user-attachments/assets/ca261c96-dd93-4699-8e51-d73cf5823cb2">


### **After**

<img width="331" alt="Screenshot 2024-09-03 at 22 58 54"
src="https://github.com/user-attachments/assets/f260799c-9e22-40dd-8fb8-1d26d3c011ed">


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

- [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 PR updates or corrects the events related to notifications. The
events have also been updated in the Segment repository.

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

## **Related issues**

Fixes:

## **Manual testing steps**

To test these new events, you can follow the standard procedure outlined
in the README file.

## **Screenshots/Recordings**

N/A

### **Before**

N/A

### **After**

N/A

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
…..." (#26872)

<!--
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 resolves flaky test for the dialog to be clicked before its been
close by using the fix from PR #26449

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

## **Related issues**

Fixes:
#26860

## **Manual testing steps**

Use the below commands to execute the test locally or in codespaces
yarn 
yarn build:test:webpack
ENABLE_MV3=false yarn test:e2e:single
test/e2e/tests/request-queuing/dapp1-switch-dapp2-eth-request-accounts.spec.js
--browser=chrome

CI for the webpack has passed

https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/98563/workflows/66616cec-d428-4a58-b7b1-1399d92bd028/jobs/3668268/steps

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

Trezor signing and connecting was broken in a recent change that
included an update to the `@trezor/connect-web` library (in #26143). The
patch had to be rewritten as part of that update, but in this rewrite an
underscore was missed in referencing a variable (the patch used
`this.settings` rather than `this._settings`).

Additionally, two more changes have been applied to ensure the modified
settings are used everywhere. One was present in the original patch but
missing from the patch in #26143. The other was not present in the
original patch (#23763) because the affected line was added in the
library update, but it seems equally necessary.

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

## **Related issues**

Fixes #26875

## **Manual testing steps**

Follow reproduction steps in #26875

## **Screenshots/Recordings**

### Before

See
https://www.loom.com/share/3e1f3d2cc57247a5b02e0ff8d61babb8?sid=1b17e423-16cf-4260-a1ed-674441e25b3a

### After:


https://github.com/user-attachments/assets/0235077f-99da-4de6-87d0-9fcd7179017c

(I stopped partway through connecting, I was already past the point of
it crashing by then).

## **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.
This is a cherry-pick of #26882 for v12.1.2. Original description:

## **Description**

Trezor signing and connecting was broken in a recent change that
included an update to the `@trezor/connect-web` library (in #26143). The
patch had to be rewritten as part of that update, but in this rewrite an
underscore was missed in referencing a variable (the patch used
`this.settings` rather than `this._settings`).

Additionally, two more changes have been applied to ensure the modified
settings are used everywhere. One was present in the original patch but
missing from the patch in #26143. The other was not present in the
original patch (#23763) because the affected line was added in the
library update, but it seems equally necessary.

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

## **Related issues**

Fixes #26875

## **Manual testing steps**

Follow reproduction steps in #26875

## **Screenshots/Recordings**

### Before

See
https://www.loom.com/share/3e1f3d2cc57247a5b02e0ff8d61babb8?sid=1b17e423-16cf-4260-a1ed-674441e25b3a

### After:


https://github.com/user-attachments/assets/0235077f-99da-4de6-87d0-9fcd7179017c

(I stopped partway through connecting, I was already past the point of
it crashing by then).

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
## **Description**

Update changelog for v12.1.2

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

## **Related issues**

N/A

## **Manual testing steps**

N/A

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
* origin/master:
  chore: Update changelog for v12.1.2 (#26886)
  fix: Fix Trezor signing and connecting [cherry-pick] (#26885)
  Version v12.1.2
)

## **Description**

Fixes issue introduced by:
#26143,
#26626

- Revert breaking change to requests with `null` IDs handled by
`createDupeReqFilterStream`.
- Remove outdated yarn patch for `@trezor/[email protected]`.
- Assign type for `getInitialSendStateWithExistingTxState` param.

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

## **Related issues**

- #26143
- #26626

## **Manual testing steps**

## **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.
chore: Update `develop` with changes from v12.1.2
## **Description**
New Snaps custom UI pages require UI/UX improvements that also require
having sticky headers and footer within the confirmation popup. This PR
makes sticky headers and footer, while content in the middle is now
scrollable.

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

## **Related issues**
Fixes:

## **Manual testing steps**
1. Do some actions that will trigger the confirmation popup to appear
(Snap alert, Snap custom UI dialog, Account Snaps, Add network
confirmation, etc.).
2. Make sure content is visible and headers + footers are sticky/fixed.
3. Make sure that there are no edge cases with UI glitches, etc.

## **Screenshots/Recordings**
### **Before**
![Screenshot 2024-09-03 at 13 05
03](https://github.com/user-attachments/assets/2d402fb1-f7ef-4df9-a067-939bcdcd97b9)
![Screenshot 2024-09-03 at 13 05
15](https://github.com/user-attachments/assets/cc01ae50-86dc-4d66-8c75-c28ab818aa95)
![Screenshot 2024-09-03 at 13 05
24](https://github.com/user-attachments/assets/26a9f459-def5-48db-b518-dbaafdb44c10)
![Screenshot 2024-09-03 at 13 05
34](https://github.com/user-attachments/assets/b5d4f237-abc4-461b-af64-ad71197a3eb1)

### **After**
![Screenshot 2024-09-03 at 12 45
29](https://github.com/user-attachments/assets/0aba0078-0b26-4d75-a64e-7aee8a3ca05d)
![Screenshot 2024-09-03 at 12 45
19](https://github.com/user-attachments/assets/e6bd2a8a-0bd7-42d3-98df-11ba6c98b8a9)
![Screenshot 2024-09-03 at 12 45
08](https://github.com/user-attachments/assets/36bd98c4-08a0-4141-b036-1482e887073c)
![Screenshot 2024-09-03 at 12 44
55](https://github.com/user-attachments/assets/ccf6dc9a-fdf1-497c-b563-c7c171f01275)
![Screenshot 2024-09-03 at 12 45
40](https://github.com/user-attachments/assets/d9d5ab1b-4287-496e-a9ed-db8bfd99ca03)
![Screenshot 2024-09-03 at 12 47
04](https://github.com/user-attachments/assets/2aed03d7-d0ff-4c5e-898d-182f69c52e38)
![Screenshot 2024-09-03 at 12 47
30](https://github.com/user-attachments/assets/482760b9-cda9-4932-8041-200de630d4df)
![Screenshot 2024-09-03 at 12 49
14](https://github.com/user-attachments/assets/95215267-89ef-46be-b793-201a37282ac3)

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

Major version bump for `@metamask/utils`. 

- Fixes critical issue of all `@metamask/utils` and `superstruct` types
downstream of `Infer` being typed as implicit `any`, suppressing valid
type errors.
- See
#23738 (comment)
- Causes large number of type error regressions which are resolved here:
#26143

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

## **Related issues**

- [x] Blocked by
#26143

## **Manual testing steps**

## **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]>
Here’s the reworded PR template for the `IconButton` component:

---

## **Description**

This PR updates the `IconButton` component (also known as
`ActionButton`) to use light theme colors when rendered in dark mode.
This update is part of the ongoing brand evolution, ensuring that the
visual design is consistent with the new brand guidelines. The primary
objective is to align the dark mode appearance of this component with
the light theme color palette, improving overall user experience and
maintaining visual coherence across the application.

## **Related issues**

Fixes: 735

## **Manual testing steps**

1. Navigate to any page where the `IconButton` component is rendered.
2. Enable dark mode in the application.
3. Observe the color scheme of the `IconButton` component to ensure it
uses the updated light theme colors.
4. Compare the colors with the brand guidelines provided.
5. Test across various instances of the `IconButton` component in dark
mode to ensure consistency.

## **Screenshots/Recordings**

### **Before**
<img width="909" alt="Screenshot 2024-09-03 at 5 04 44 PM"
src="https://github.com/user-attachments/assets/338cf8a5-0ae7-4cc1-99ca-0d1b2627da2f">
<img width="858" alt="Screenshot 2024-09-03 at 5 03 40 PM"
src="https://github.com/user-attachments/assets/e10d9119-536b-485d-96d0-7aab1f14efe1">


### **After**
<img width="973" alt="Screenshot 2024-09-03 at 5 05 26 PM"
src="https://github.com/user-attachments/assets/e62b1bf5-c109-4d42-87e0-47a358f7184e">
<img width="732" alt="Screenshot 2024-09-03 at 5 03 48 PM"
src="https://github.com/user-attachments/assets/c6ccd9a2-068b-4e16-aae0-00ab34108537">

<!-- Add updated screenshots/recordings once the changes are
implemented. -->

## **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 where applicable.
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
where 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)).

## **Pre-merge reviewer checklist**

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

---

This version is tailored specifically for the `IconButton` component,
reflecting the necessary changes and testing steps.
## **Description**

This PR adds the new brand evolution font files to the portfolio and
ensures they are available in the styles used across the MetaMask
extension. The specific font files added are:

- `MM_Sans_Mono-Variable.woff2` (Default weight 400) Supports 400, 500,
600, 700, 800, 900
- `CentraNo1-Book.woff2` (weight 400)
- `CentraNo1-Medium.woff2` (weight 500)
-  `CentraNo1-Bold.woff2` (weight 700)

These fonts have been integrated into the relevant CSS configuration to
ensure they are correctly applied within the extension's design
components, aligning with the brand's updated visual guidelines.

The reason for this change is to incorporate the latest assets into the
extension, providing a consistent visual experience across all
touchpoints. The solution involved adding the font files to the
appropriate directory in the codebase and updating the CSS to reference
these new fonts with the specified class names.

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

## **Related issues**

Fixes: #756

## **Manual testing steps**

1. Open the extension and navigate to pages where these fonts are
applied.
2. Inspect the elements to confirm that the `isBrandEvolution` class is
applied and the fonts are rendering correctly.
3. Perform cross-browser testing to ensure the fonts display correctly
on all supported browsers.
4. Conduct tests on different devices to verify that the fonts are
rendered as expected.

## **Screenshots/Recordings**

### **Before**

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

### **After**
<img width="755" alt="Screenshot 2024-08-29 at 4 31 36 PM"
src="https://github.com/user-attachments/assets/f663b5f4-5af0-4de2-b5d3-de2e63f69383">


https://github.com/user-attachments/assets/62614eee-d7bf-4bbd-bd20-3bf59024da06


https://github.com/user-attachments/assets/be1bc793-161f-45c5-956a-6eff27ff61f5


https://github.com/user-attachments/assets/c7298b5f-d343-4d67-bf6a-0dc4577707bf


https://github.com/user-attachments/assets/04961768-d1f2-4e3e-ac99-53131dce3071





## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

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

---------

Co-authored-by: George Marshall <[email protected]>
## **Description**

To support the v12.2.0 release, the dynamic feature flag on ramps
backend has been enabled for Bitcoin buy feature.

This e2e was outdated since we were not mocking ramps endpoints and were
checking that the feature was disabled (which is not longer true now).

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

## **Related issues**

Fixes:

## **Manual testing steps**

1. `yarn build:test:flask`
2. `yarn test:e2e:single
test/e2e/flask/btc/btc-account-overview.spec.ts`

## **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.
## **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? We are allowing
`wallet_requestSnaps` to be called by other snaps and needed to update
the UI to correctly show the snap origin.
2. What is the improvement/solution? There needed to be some UI changes
to accommodate the above.


## **Related issues**

Fixes MetaMask/snaps#2611

## **Screenshots/Recordings**

### **Before**


![image](https://github.com/user-attachments/assets/27ce948d-42d7-41f5-bf1e-cb32150b5bb0)

![image](https://github.com/user-attachments/assets/3d785e7f-a968-4086-ba07-f99b90e949fc)


### **After**



https://github.com/user-attachments/assets/e47a092b-7f66-4cb8-9039-8600821475da

**NOTE:** The copy was updated to "Connected Snaps" and "Connected sites
and Snaps".

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
…nclusion of a blockExplorerUrls property which is not required (#26938)

Fix issue where `wallet_addEtherumChain` was incorrectly enforcing
inclusion of a blockExplorerUrls property which is not required


## **Description**

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

## **Related issues**

Fixes: #26844

## **Manual testing steps**

1. Go to https://protect.flashbots.net/summary?fast=true
2. Click "Add to Metamask"
3. You should see the add network confirmation and be able to add the
network configuration successfully to the wallet

## **Screenshots/Recordings**

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

### **Before**

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


https://github.com/user-attachments/assets/5c5718b5-f5e7-4499-9393-307bbe5c4eaa


### **After**


https://github.com/user-attachments/assets/14d1b1aa-f2d8-4133-9056-064d7875379a


## **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.
…tests to snaps interactive ui test (#26927)

<!--
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 deprecations and add radio button and checkbox tests to snaps
interactive ui test

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

## **Related issues**

Fixes: #26567 

## **Manual testing steps**

1. run single manual E2E test or check that CI passes

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
## **Description**

Adds basic CODEOWNERS responsibilities to UX and Assets teams. Assets
team will be consolidating the NFT components soon, as well as
Transaction Listing components when that feature gets built out. In the
mean time, this is a step forward.

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

## **Related issues**

Fixes:

## **Manual testing steps**

1. 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 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.
davidmurdoch and others added 13 commits September 10, 2024 12:10
…ties to valid JS syntax (#26488)

I noticed a react warning about the `stroke-linecap` and
`stroke-linejoin` properties not being valid (they are supposed to be
`strokeLinecap` and `strokeLinejoin`). I've updated them in this PR. It
doesn't change anything except for the warning, as React was passing the
hyphenated values to the DOM anyway (now it just won't complain).

So this PR just serves to get rid of the warning.
This PR adds a Storybook story for the AddNetworkModal component. The
story showcases different states and configurations of the component,
improving its testability and documentation.

1. Reason for the change: To enhance the component's visibility in
Storybook and facilitate easier testing and development.
2. Improvement/solution: Created a new story file with multiple
variations of the AddNetworkModal component.

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

## **Related issues**
N/A

## **Manual testing steps**

1. Go to the latest build of storybook in this PR
2. Navigate to the AddNetworkModal component in the Pages/Onboarding
folder.

## **Screenshots/Recordings**

<Case1-screenshot-url>

https://files.devinusercontent.com/attachments/5a13b9e8-2468-4532-beea-9545056bb6b0/e3cdc221-da44-45c1-9c05-fcf91c8ff12b.png

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

[This Devin
run](https://preview.devin.ai/devin/bfec9966b74f4487830943b93eee3eac)
was requested by George.

---------

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: georgewrmarshall <[email protected]>
This PR adds a Storybook story for the AddNetworkModal component. The
story showcases different states and configurations of the component,
improving its testability and documentation.

1. Reason for the change: To enhance the component's visibility in
Storybook and facilitate easier testing and development.
2. Improvement/solution: Created a new story file with multiple
variations of the AddNetworkModal component.

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

## **Related issues**
N/A

## **Manual testing steps**

1. Go to the latest build of storybook in this PR
2. Navigate to the AddNetworkModal component in the Pages/Onboarding
folder.

## **Screenshots/Recordings**


<img width="1511" alt="Screenshot 2024-09-09 at 4 24 18 PM"
src="https://github.com/user-attachments/assets/4f2699c2-58fb-428b-8d95-cd23c9f061b5">


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

[This Devin
run](https://preview.devin.ai/devin/bfec9966b74f4487830943b93eee3eac)
was requested by George.


If you have any feedback, you can leave comments in the PR and I'll
address them in the app!

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

Follow up to #27024.
Since that was merged, an update was made to
#27024, and so the
yarn audit warning now has a new id, which we need to include in the
`npmAuditIgnoreAdvisories` config.

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

## **Related issues**

Fixes:

## **Manual testing steps**

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

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
## **Description**

Follow up to #27024
and #27041

The id has changed again, so we are going to try updating one more time.

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

## **Related issues**

Fixes:

## **Manual testing steps**

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

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**
This PR aims to update the threshold for the `network is busy` warning.
<!--
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/26983?quickstart=1)

## **Related issues**

Fixes: MetaMask/MetaMask-planning#2752

## **Manual testing steps**

1. Go to this test Dapp or start a simple send

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

---------

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

This PR adds a check to the modal for enabling notifications. If the
enabling process is in progress, closing the modal does not trigger the
“dismissed” event.

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

## **Related issues**

N/A

## **Manual testing steps**

N/A

## **Screenshots/Recordings**

N/A

### **Before**

N/A

### **After**

N/A

## **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 bumps @metamask/base-controller to v7.0.0.

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

## **Related issues**

Fixes: #26920 

## **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: MetaMask Bot <[email protected]>
Co-authored-by: Michele Esposito <[email protected]>
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**

This PR documents the manual test scenarios for several privacy settings
functionalities. Below is a summary of the validations included in these
manual scenarios:

1. Privacy settings: Check “network details check” toggle works
correctly

- Validate that the 'Network details check' toggle is present in the
Security & Privacy settings and is ON by default.
- Validate that the toggle can be turned on and off.
- Validate that when the toggle is turned on, MetaMask checks the
network details against the information provided by chainid.network when
attempting to connect to a blockchain network.

2. Privacy settings: Check “IPFS gateway” toggle works correctly

- Validate that the 'IPFS gateway' toggle is present in the Security &
Privacy settings and is ON by default.
- Validate that the toggle can be turned on and off.
- Validate that when the toggle is turned on, MetaMask shows images of
NFTs.
- Validate that when the toggle is turned off, NFT images are replaced
by placeholders and I am prompted to turn on IPFS resolution.

3. Privacy settings: Check “Show ENS domains in address bar” toggle
works correctly

- Validate that the 'Show ENS domains in address bar' toggle is present
in the Security & Privacy settings and is ON by default.
- Validate that the toggle can be turned on and off.
- Validate that when the toggle is turned on, ENS domain name is
displayed alongside the public address.

4. Privacy settings: Check “Display NFT Media” toggle works correctly

- Validate that the 'Display NFT media' toggle is present in the
Security & Privacy settings and is ON by default.
- Validate that the toggle can be turned on and off.
- Validate that when the toggle is turned on, MetaMask displays NFT
media and data.
- Validate that NFT autodetection relies on this setting and won't be
available when this is turned off.

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

## **Related issues**

Fixes: #21963,
#21964,
#21966,
#21967

## **Manual testing steps**

Please click link for the [rendered
view](https://github.com/MetaMask/metamask-extension/tree/privacy-settings-manual-scenarios/test/manual-scenarios/privacy-settings)

--> test/manual-scenarios/privacy-settings/check "Network details check"
toggle works correctly.md

https://github.com/user-attachments/assets/9a60b564-7503-44b9-9ca0-810e857a4529

--> test/manual-scenarios/privacy-settings/check "IPFS gateway" toggle
works correctly.md

https://github.com/user-attachments/assets/3e2e5135-9343-4d8c-808f-e3f599928d52

--> test/manual-scenarios/privacy-settings/check "Show ENS domains in
address bar" toggle works correctly.md

https://github.com/user-attachments/assets/79df9cc4-0083-458f-be06-d524c7ca135f

--> test/manual-scenarios/privacy-settings/check "Display NFT media"
toggle works correctly.md

https://github.com/user-attachments/assets/a54ef74f-00b4-4554-a7ac-9cd1e53800a4

---------

Co-authored-by: Harika <[email protected]>
…between ETH and DAI after changing initial rate` (#27022)

<!--
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 is fetching the swap quote to the live server, instead of
using mocks. This can cause the test to be unstable, if the response
takes too long.

The error appears when then the quotes timer is reset and we cannot find
the 0:25 element (as we are around 0:46s)

`TimeoutError: Waiting for element to be located By(xpath,
.//*[./@data-testid =
'countdown-timer__timer-container'][(contains(string(.), '0:25') or
contains(string(.), '0:25'))])`.



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

## **Related issues**

Fixes: #27023

## **Manual testing steps**

1. Check ci

## **Screenshots/Recordings**
The swap request for quotes is not mocked, taking a non-deterministic
time to get a response, hence making the test unstable.
See for example, this case, where the request took almost 3 seconds to
resolve:

![Screenshot from 2024-09-10
13-56-53](https://github.com/user-attachments/assets/09e1bc0e-239b-465a-a086-f9a540f8f8d5)


https://github.com/user-attachments/assets/9c004afb-0384-4159-9942-5a0908920276




## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
## **Description**

Fixes an issue where the Data Collection setting isn't displaying in
search results.

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

## **Related issues**

Fixes: #25627

## **Manual testing steps**

1. Go to settings
2. Search for "Data coll"
3. See the search result
4. Click the result takes you to the bottom of Security settings

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **Pre-merge author checklist**

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

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
This will allow CircleCI runs to report information to Sentry. It was very difficult to achieve, because there were specific E2E tests in `test/e2e/tests/metrics/errors.spec.js` that could never pass with this code added.

Before this PR, there was no way to pass runtime flags to the extension during tests. (Well okay, more precisely, you could change certain things through Fixtures, and you could change certain things through Ganache parameters, but both of these didn't load until late in the app load. Sentry is one of the first things to load, and it needed a way to get runtime flags very early in the app load.)

The way this works is a bit of a hack, but it's the only solution we could come up with that would load early enough:

1. A global beforeEach hook in the E2E tests backs up the manifest.json file
2. The `helpers.withFixtures()` function calls `setManifestFlags()`, which reads in the manifest file and parses it
3. We alter the manifest with CircleCI environment variables and custom flags, then write it back to manifest.json
4. The test runs, and the built extension can call `getManifestFlags()` to get the custom flags
5. A global afterEach hook restores the backup copy of the manifest, so that the next test gets the normal manifest

Co-authored-by: David Murdoch <[email protected]>
Co-authored-by: Matthew Walsh <[email protected]>
@seaona seaona added this pull request to the merge queue Sep 11, 2024
HowardBraham and others added 2 commits September 11, 2024 12:50
## **Description**

#26764 created files with double-quotes in filenames. Windows cannot
handle that, and gives this error

```
Check Out Branch:
invalid path 'test/manual-scenarios/privacy-settings/check "Display NFT media" toggle works correctly.md'
invalid path 'test/manual-scenarios/privacy-settings/check "IPFS gateway" toggle works correctly.md'
invalid path 'test/manual-scenarios/privacy-settings/check "Network details check" toggle works correctly.md'
invalid path 'test/manual-scenarios/privacy-settings/check "Show ENS domains in address bar" toggle works correctly.md'
```

Renamed to use single quotes.

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

## **Related issues**

Fixes: #26764

## **Manual testing steps**
## **Screenshots/Recordings**
### **Before**
### **After**
## **Pre-merge author checklist**

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [ ] 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.
…napproved transactions` (#27028)

<!--
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**
In the Navigate transactions test, we inject 4 transactions using
fixtures, and then try to Reject them all.
The problem is that the confirmation screen takes some time to fully
load. If there is a case where we click the Reject 4 button, before the
page is loaded, it could be that there is a re-render, and the click
doesn't take effect. See logs, how the Reject 4 click happened, but then
it cannot find the Reject all, since the modal doesn't appear:

![Screenshot from 2024-09-10
16-15-27](https://github.com/user-attachments/assets/d41c0e7f-278a-43de-ab87-4bf7d8c9aead)


Specifically there are 3 items that require a couple of seconds:
- Total amount
- Gas
- Load balance so the lack of funds warning disappears

In this [PR](#25312)
the first case was fixed and mitigated most of the flakiness, but
there's still a small chance to happen the last 2 cases.

In this PR, we add guards for the last 2 components, in order to wait
for the confirmation page to be fully loaded before clicking Reject.

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

## **Related issues**

Fixes: #27031

## **Manual testing steps**

1. Check ci

## **Screenshots/Recordings**

![image](https://github.com/user-attachments/assets/6f1d6841-7087-47f5-80ab-279e4c658da0)



https://github.com/user-attachments/assets/46934e9a-8159-4062-9ec2-274ad0e9ad7d



## **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.
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Sep 11, 2024
@seaona seaona added this pull request to the merge queue Sep 11, 2024
@seaona seaona removed this pull request from the merge queue due to a manual request Sep 11, 2024
@seaona seaona requested a review from a team as a code owner September 11, 2024 16:58
@seaona seaona enabled auto-merge September 11, 2024 16:58
Copy link

@metamaskbot
Copy link
Collaborator

Builds ready [38691f4]
Page Load Metrics (1715 ± 78 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint15312185171816077
domContentLoaded15112115169414871
load15232192171516378
domInteractive23152402914
Bundle size diffs
  • background: 0 Bytes (0.00%)
  • ui: 0 Bytes (0.00%)
  • common: 0 Bytes (0.00%)

@seaona seaona added this pull request to the merge queue Sep 11, 2024
Merged via the queue into merge-queue-test with commit 1e15745 Sep 11, 2024
76 checks passed
@seaona seaona deleted the merge-queue-develop-sync branch September 11, 2024 18:18
@github-actions github-actions bot locked and limited conversation to collaborators Sep 11, 2024
@metamaskbot metamaskbot added the release-12.6.0 Issue or pull request that will be included in release 12.6.0 label Sep 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
release-12.6.0 Issue or pull request that will be included in release 12.6.0 team-extension-platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.