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.6.0 #21794

Merged
merged 110 commits into from
Nov 24, 2023
Merged

Version v11.6.0 #21794

merged 110 commits into from
Nov 24, 2023

Conversation

chloeYue
Copy link
Contributor

Description

Release Candidate v11.6.0

Related issues

Manual testing steps

Screenshots/Recordings

Before

After

Pre-merge author checklist

  • I’ve followed MetaMask Coding Standards.
  • 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
  • I've included screenshots/recordings if applicable
  • I’ve included tests if applicable
  • I’ve documented my code using JSDoc format if applicable
  • I’ve applied the right labels on the PR (see labeling guidelines). 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.

brad-decker and others added 30 commits October 31, 2023 09:04
## **Description**
Before #21441 the test reporter would output the test path it was
executing which made figuring out where tests were failing at fairly
easy. The updates in #21441 make tests run faster but it doesn't help
when trying to ascertain where failures occur. To make it slightly
easier this PR adds some reporting to the run-all script and the
withFixtures and verboseReportOnFailure functions to explicitly call out
where breakdowns happen.

This PR also changes from using `this.test.title` to
`this.test.fullTitle()` which includes the name spacing of Describe
Blocks for easier access.

## **Related issues**


## **Manual testing steps**

1. View CircleCI output on develop for any of the E2E tests.
2. Observe that the test steps are written out verbosely, but no
information about what file or test is being ran.
3. Do the same on this branch's CircleCI output and see the the test
files and names are logged.
4. Repeat steps locally on develop and this branch to see local terminal
console outputs file paths and test names.

## **Screenshots/Recordings**

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

### **Before**
<img width="1271" alt="Screenshot 2023-10-26 at 1 48 27 PM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/9dae6c6c-9c6b-4fc6-8852-c02ae7662c65">

### **After**
<img width="1249" alt="Screenshot 2023-10-26 at 2 15 21 PM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/fa6058f9-31b5-4dc7-b0fc-d9a76ca92cb8">
<img width="1197" alt="Screenshot 2023-10-26 at 2 15 41 PM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/c5be627a-34fe-4e70-af1a-b478b0d06b4a">

<!-- [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 clearly explained what problem this PR is solving and how it
is solved.
- [ ] 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
- [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:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] 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: Howard Braham <[email protected]>
Disabling e2e test for malicious signatures, until fixed
Fixes the snaps website link pointing to the wrong URL.

Testing steps:
1. Install https://snaps.metamask.io/snap/npm/tezos-metamask-snap/
2. Click website link in snap settings
3. See that you are navigated to https://metamask.tezos.com/
## **Description**

This PR brings the address book and contact + recent transactions search
to the recipient input.

## **Related issues**

Fixes: MetaMask/MetaMask-planning#1562

## **Manual testing steps**

### 1.  "Contacts"
1.  Click any "Contacts" item
2. See the contact populated in the "To" field

### 2. "Contacts Search"
1.  Search for a contact that lives in your address book
2. See that contact narrowed down in the contacts list

### 3.  Domain Resolution / "Confusable"
1.  In the "To" field, type `metamask.eth`
2. See on item display under "To", and it's the `metamask.eth` item with
red `m`'s (`Confusable` component)

## **Screenshots/Recordings**

### **Before**

(Wasn't there)

### **After**


https://github.com/MetaMask/metamask-extension/assets/46655/cfcca367-4e52-4af9-a243-3d84cdaaed69

Note: I know that the Address Book item doesn't look the same as the
Your Accounts item -- that will be fixed in
MetaMask/MetaMask-planning#1566

## **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 clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] 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)).
- [ ] 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.
…21480)

Continuing to follow this E2E development plan
https://www.notion.so/Snaps-Keyring-V1-290f59e37414470d97030e5dc22ab36d

### Important Features
- The Eth Sign tests have been added
- The whole `test/e2e/accounts` folder is now in TypeScript. As far as I
can tell, this creates Extension's first TypeScript E2E tests. (This was
not an easy task, because there was no prior work to follow, and I hit a
bunch of type and import hurdles along the way.) To support this:
  - Updated `mocha` to the newest `10.2.0`
  - Added `@types/mocha` and `@types/selenium-webdriver`
- Required some changes in `test/e2e/webdriver/driver.js`, most notably
how the `PAGES` object works
- JSDoc in some JS files to get better type hints when there's no
TypeScript
- `test-snap-accounts.spec.js` was previously the longest-runtime E2E
testfile, often taking 18-25 minutes all by itself, and being the
bottleneck. I split and optimized the tests, so now the longest-runtime
testfile is `snap-account-signatures.spec.ts` at 4 minutes.
- Stabilized a bunch of E2E tests using these techniques:
  - No more `findElement` then `assert(getText())` pattern
  - Safer window waiting and switching
  - Using `clickElementSafe` for scroll buttons
- Made `test-e2e-chrome-multichain` required for `all-tests-pass` again.
I did not actually fix the E2E tests that were failing, I just added
this code to another spot in `snap-accounts-transfers.spec.ts`. I'm not
sure that actually fixing it is possible right now.
```
// TODO: Update Test when Multichain Send Flow is added
if (process.env.MULTICHAIN) {
  return;
}
```
## **Description**

This bumps the `PhishingController` to `7.0.1` after its migration to
`BaseControllerV2`.

- `PhishingController` now takes its restrictred messenger.
- `testOrigin` and `maybeUpdateState` calls are now available through
the messaging system.

The behaviour of the PhishingController should remain the same

---------

Co-authored-by: MetaMask Bot <[email protected]>
Co-authored-by: Frederik Bolding <[email protected]>
## **Description**

Fixes test flakiness that causes intermittent failures on `user should
be able to view ERC1155 NFT details @no-mmi`.

## **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 clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] 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: Howard Braham <[email protected]>
## **Description**
With ongoing effort of `TransactionController` alignment between mobile
and extension, this PR aims to decouple swaps metric logic from
`TransactionController` and make them client specific.

Also removed `transaction-finalized` and put `transaction-confirmed` and
`transaction-failed`. This should've been done before but I couldn't
notice when I was working mainly focused on metric events.

## **Manual testing steps**

No functional changes. 

## **Related issues**

Fixes MetaMask/MetaMask-planning#1053

## **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:
  - [X] What problem this PR is solving.
  - [X] How this problem was solved.
  - [X] How reviewers can test my changes.
- [X] I’ve indicated what issue this PR is linked to: Fixes #???
- [X] I’ve included tests if applicable.
- [X] I’ve documented any added code.
- [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)).
- [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".
- [x] 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.
## **Description**

Previously, on #21628, a delay to await image load was introduced to fix
the flakiness on the `user should be able to view ERC1155 NFT details`
test. This PR changes the fix to mocking the IPFS response and adds a
mock to the `user should be able to remove ERC1155 NFT on details page`
test too.

## **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 clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] 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.
## **Description**

Found a bug where the signature content doesn't fill the popup container
(see attached screenshot).

## **Manual testing steps**

1. Go to e.g. [dydx](https://trade.dydx.exchange/)
2. Trigger a signature
3. Voilá

## **Screenshots/Recordings**

### **Before**
<img width="395" alt="Screenshot 2023-10-27 at 16 21 45"
src="https://github.com/MetaMask/metamask-extension/assets/34306844/e7a99d2b-3f90-4efd-9255-2fa7bb8a9639">


### **After**
<img width="390" alt="Screenshot 2023-10-27 at 16 22 03"
src="https://github.com/MetaMask/metamask-extension/assets/34306844/8b4d4df5-495e-42d1-bc7c-8d8f78cb5ec9">


## **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 clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] 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: Frederik Bolding <[email protected]>
…21629)

## **Description**

There are some styles mismatching in new security session in settings
tab.

## **Related issues**

Fixes:  N/A

## **Manual testing steps**

1. Go to settings
2. Check experimental tab
3. validate styles in "select your providers"

## **Screenshots/Recordings**

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

### **Before**
<img width="1000" alt="Screenshot 2023-11-01 at 01 59 17"
src="https://github.com/MetaMask/metamask-extension/assets/12678455/bde46819-e411-4217-a0d4-235d558539d8">



### **After**

<img width="1003" alt="Screenshot 2023-11-01 at 02 35 52"
src="https://github.com/MetaMask/metamask-extension/assets/12678455/cdb01c19-a28a-4660-8766-ef0c4f89c58e">


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

Fixes the querystring for the analytics Iframe to the portfolio.

## **Manual testing steps**

1.  Go through on boarding
2. Ensure that the iframe on the Create Password page has correct
querystring of `?env=production&mmi={SOMESTRING}`


## **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 clearly explained:
  - [ ] What problem this PR is solving.
  - [ ] How this problem was solved.
  - [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] 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)).
- [ ] 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: Nidhi Kumari <[email protected]>
## **Description**

Converts the
`ui/components/multichain/pages/send/components/recipient-input` file to
TypeScript

## **Related issues**

Fixes: None, very small task, no issue needed.

## **Manual testing steps**

No manual test needed

## **Screenshots/Recordings**

### **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 clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] 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.
## **Description**
This PR makes two fixes to reading and parsing contract data:
1. `readAddressAsContract` was incorrectly using a promise-style async
call. Fixed to use callback-style async call expected by `eth-query`.
2. `determineTransactionType` was throwing `"cannot read property 'name'
of undefined"` when trying to parse data. However, in the case of a
simple send, data is always undefined. This PR moves the parsing to
where we know we are dealing with a contract.

## **Related issues**

Tracking ticket:
https://github.com/orgs/MetaMask/projects/47/views/1?pane=issue&itemId=43249800

## **Manual testing steps**

No manual testing steps.

## **Screenshots/Recordings**

Not applicable.

### **Before**

### **After**

## **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
- [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".
- [x] 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.
…21635)

## **Description**
Update the resource class for all e2e test runners and bump up
parallelism to reduce wait time for e2e tests.

## **Related issues**
N/A

## **Manual testing steps**
1. Go to circle ci and compare develop test run times to this branch
times

## **Screenshots/Recordings**

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

### **Before**
<img width="677" alt="Screenshot 2023-11-01 at 8 51 59 AM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/0efa8bb8-bff7-48b2-950b-dc3f1009c1b8">

**test-e2e-firefox timings**
<img width="1682" alt="Screenshot 2023-11-01 at 8 52 51 AM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/5de08f5c-0c31-4f44-a554-a2af80dca64e">

**test-e2e-firefox resources**
<img width="1699" alt="Screenshot 2023-11-01 at 8 53 30 AM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/ab51c7ed-a76d-4ff0-a57e-c4bfa056a44f">

### **After**
<img width="658" alt="Screenshot 2023-11-01 at 8 54 08 AM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/28e91a80-a5ac-4c1a-ae03-709b1653e1fb">

**test-e2e-firefox timings*(
<img width="1704" alt="Screenshot 2023-11-01 at 8 54 57 AM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/67fbf24b-b845-402b-85e2-42fa947fe8b0">

**test-e2e-firefox resources**
<img width="1675" alt="Screenshot 2023-11-01 at 8 55 31 AM"
src="https://github.com/MetaMask/metamask-extension/assets/4448075/9c2b36a5-d9ab-4f24-a584-4ab9fab49990">


## **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
- [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:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] 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.
## **Description**
Added a screen to list all connections, including dapps and snaps in one
place. Connection Details coming in future PRs.
Clicking "Connections" in the app footer will take you to the All
Connections page in fullscreen mode.
Currently, if you have more than 5 total connections (dapps + snaps), it
will switch to a tab mode that separates the connections by type.

## **Manual testing steps**

1. Start the extension, and turn on fullscreen mode.

2. Look for the "Connections" option in the app footer. Click on it to
navigate to the All Connections page. Verify that the All Connections
page opens in fullscreen mode

3. Ensure that all your connections, including dapps and snaps, are
listed on this page.

4. If you have less than 5 total connections, try adding more until you
have more than 5. This can be done by connecting to new dapps or
installing new snaps.

5. Once you have more than 5 total connections, check if the page
switches to a tab mode that separates the connections by type (dapps and
snaps).

6. Try navigating between the tabs and ensure that the correct
connections are displayed for each category.

## **Screenshots/Recordings**


![image](https://github.com/MetaMask/metamask-extension/assets/10986371/10b78570-1b51-4e63-91d7-304540a803f2)


![image](https://github.com/MetaMask/metamask-extension/assets/10986371/7d20ad56-4707-4b53-a8d5-3b43b3d8a002)

## **Related issues**

Fixes https://github.com/MetaMask/MetaMask-planning/issues/916

## **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:
  - [X] What problem this PR is solving.
  - [X] How this problem was solved.
  - [X] How reviewers can test my changes.
- [X] I’ve indicated what issue this PR is linked to: Fixes #???
- [X] I’ve included tests if applicable.
- [X] I’ve documented any added code.
- [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)).
- [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".
- [X] 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: Danica Shen <[email protected]>
## **Description**

This PR adds an `ariaLabel` attribute to the "Select Action"
`ButtonIcon`, since `ariaLabel` is a required prop.

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1. Use assistive technology
2. Tab to the "Select Action" button in the footer
3. Hear "Select Action" read

## **Screenshots/Recordings**

### **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 clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] 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: Nidhi Kumari <[email protected]>
This PR is to update the account picker in Send Flow

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

## **Manual testing steps**

1. Go to Send Flow in Multichain Flow
2. Check the account picker matches the figma

## **Screenshots/Recordings**


### **Before**
![Screenshot 2023-10-27 at 2 43 15
PM](https://github.com/MetaMask/metamask-extension/assets/39872794/634fd28e-2816-4cf9-8f4c-c42340446fd1)


### **After**
![Screenshot 2023-10-27 at 2 42 10
PM](https://github.com/MetaMask/metamask-extension/assets/39872794/7c557a3c-a331-4b1e-8361-18c64d42cca9)


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

This PR aims to fix a few undesired edge cases, listed
[here](MetaMask/MetaMask-planning#1586), which
have been identified since the introduction of the Github action that
checks issues and PRs templates.

[Same PR for
Mobile.](MetaMask/metamask-mobile#7661)

## **Related issues**

Fixes: MetaMask/MetaMask-planning#1586

## **Manual testing steps**

1. Go on this [test
repo](https://github.com/gauthierpetetin-test/repo_test/)
2. Reproduce scenarios listed in this
[issue](MetaMask/MetaMask-planning#1586)

## **Screenshots/Recordings**

None

### **Before**

None

### **After**

None

## **Pre-merge author checklist**

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

Bump snaps packages to latest.

Fixes a few small issues and lays the groundwork for exposing links in
custom UI.

---------

Co-authored-by: MetaMask Bot <[email protected]>
…1652)

## **Description**
Undoes this pr:
#21221

Due to Unforeseen issues with our snap partners we will need to remove
the "Add Snap accounts" from the main Metamask build. The previous
implementation used a time based toggle to enable this feature. To undo
this change I have remove the timestamp variable and simply set the
toggle to null in main and rendered it in flask.

## **Related issues**

Fixes: #

## **Manual testing steps**

#### Testing main
1. pull this branch `patch/hide-keyring-snaps-toggle`
2. run `yarn install`
3. run `yarn start`
4. load the `dist/chrome` or `dist/firefox` into your browser via
`manage extensions/load unpacked`
5. create a wallet
6. open settings by clicking the 3 dots in the top right corners
7. navigate to `experimental`
8. scroll to the bottom

**EXPECTED**: You _should not_ see `Add Snap accounts`

#### Testing flask
1. pull this branch `patch/hide-keyring-snaps-toggle`
2. 2. run `yarn install`
3. run `yarn start --build-type flask`
4. load the `dist/chrome` or `dist/firefox` into your browser via
`manage extensions/load unpacked`, If you previously manually installed
MetaMask you can skip this step.
5. create a wallet. If you previously manually installed MetaMask you
can skip this step.
6. open settings by clicking the 3 dots in the top right corners
7. navigate to `experimental`
8. scroll to the bottom

**EXPECTED**: You _should_ see `Add Snap accounts`

## **Screenshots/Recordings**

##### MetaMask **Main** build
<img width="424" alt="Screenshot 2023-11-01 at 2 32 37 PM"
src="https://github.com/MetaMask/metamask-extension/assets/22918444/f47b3ed6-c9ab-4004-a164-d2e0489b1412">


##### MetaMask **Flask** Build
<img width="511" alt="Screenshot 2023-11-01 at 1 51 52 PM"
src="https://github.com/MetaMask/metamask-extension/assets/22918444/33b5fe9e-95d1-4f84-8a21-262aa64bf89a">


## **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.
- [ ] 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
- [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:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] 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.
## **Description**


This PR fixes a reported issue here
#21227
The issue happens when the user tries to import an NFT with a non
checksum address.
If you try to import an NFT with a contract address that is a valid
Checksum address twice; you will be able to see the error "NFT already
imported".
If it is an address that is not checksum; it will allow you to import
the NFT twice.

The fix converts the input address to a checksum address and compares it
to the user's NFT object.



## **Related issues**

Fixes: ##21227

## **Manual testing steps**

1. Mint an NFT
2. Import the NFT the first time with decimal
3. Click on import NFT and enter the nonChecksumAddress of the contract
4. Input the NFT ID and you should see the error

## **Screenshots/Recordings**

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

### **Before**

For this test, we deployed a contract: this is the contract address from
etherscan: 0x80AcDDE51B1f379AE60f72203bfD24D4d6D4412d (Which is a valid
checksum address)
And this is the address we will test with:
0x80acdde51b1f379ae60f72203bfd24d4d6d4412d (which is a non valid
checksum address)

Using the valid checksum address you should see:


![image](https://github.com/MetaMask/metamask-extension/assets/10994169/8854fa1c-1954-4479-82d9-1355fcff58e3)

Using the non valid checksum address you see:


![image](https://github.com/MetaMask/metamask-extension/assets/10994169/fb4e8039-14d9-47a7-86bc-9104a64a46df)


### **After**

Still Works with valid checksum address for decimal

![image](https://github.com/MetaMask/metamask-extension/assets/10994169/6ab4419f-c7a7-4e71-9936-39723dea976c)

Still works with valid checksum address for hex

![image](https://github.com/MetaMask/metamask-extension/assets/10994169/bf1d79e3-ed9e-4033-8b99-0d42938e5a5e)

Works with non valid checksum address decimal using
(0x80acdde51b1f379ae60f72203bfd24d4d6d4412d)


![image](https://github.com/MetaMask/metamask-extension/assets/10994169/8c6d408d-3aca-45d8-ae67-c0c11acd97e5)

Works with non valid checksum address for hex 


![image](https://github.com/MetaMask/metamask-extension/assets/10994169/887150c4-97bc-4d7f-847e-7919fde68600)


## **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
- [ ] 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.
- [ ] 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.
## **Description**
This PR aims to replace MMI code fences with callbacks and arguments to
prepare (subsequent ticket) the support of the code in the Transaction
Controller in the core repo as it is a static package and cannot have
any build-specific code.

This effort is part of the unification of the Transaction Controller.
## **Description**

Enables the `Simple Send` test for MMI build.


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

- [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:
  - [x] What problem this PR is solving.
  - [x] How this problem was solved.
  - [x] How reviewers can test my changes.

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

In MMI we need the address selected to be sent in the properties, so in
order to have that we get the `selectedAddress` from preferences state
and pass it to the `mmiProps` object.


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

- [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:
  - [x] What problem this PR is solving.
  - [x] How this problem was solved.
  - [x] How reviewers can test my changes.

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

## **Description**

When opening the Sign-in with Ethereum pop-up UI, it may not span the
entire width. This PR applies width 100% to ensure it spans the width.
There is an existing media query to support when the window is wider in
which it has a fixed width, not 100%

## **Related issues**

Fixes: MetaMask/MetaMask-planning#1610

## **Manual testing steps**
1. Open test Dapp
2. Issue sign-in with Ethereum transaction
3. Observe width 


## **Screenshots/Recordings**

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

### **Before**
![Screenshot 2023-11-01 at 4 56
34 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/306e463e-06fc-4e82-82cb-e2854e8db2f8)

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

### **After**

![Screenshot 2023-11-01 at 4 57
34 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/96db14a1-4657-4852-8584-712a54d9c457)
<!-- [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 clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] 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.
…lerOnly (#21572)

## **Description**
Implemented multichain polling in DetectTokensController through
inheritance from PollingControllerOnly, enabling simultaneous network
polling.


## **Related issues**

Fixes: https://github.com/MetaMask/MetaMask-planning/issues/1556

---------

Co-authored-by: MetaMask Bot <[email protected]>
Co-authored-by: Alex Donesky <[email protected]>
Co-authored-by: jiexi <[email protected]>
…er and Chromedriver is no longer necessary (#21481)

Yay! We don't have to manually update Geckodriver and Chromedriver anymore, so they shouldn't get out of sync!

https://www.selenium.dev/blog/2023/whats-new-in-selenium-manager-with-selenium-4.11.0/
danjm and others added 9 commits November 23, 2023 16:07
## **Description**

There were no merge conflicts when cherry picking this commit.
… content (#21945)

## **Description**
Cherry pick of this code:
#21935
#21951)

Cherry-pick
3388599
(PR #21946) to
v11.6.0

**There were no merge conflicts when picking these commits**
`@metamask/snaps-ui` is indirectly used by `@metamask/keyring-api` but
is deprecated, so we are getting an audit failure. Replacing
`@metamask/snaps-ui` with `@metamask/snaps-sdk` will solve this but in
the meantime we are ignoring this deprecation to unblock further merges.
segun and others added 3 commits November 23, 2023 18:15
…t is also triggered (#21753)

## **Description**

Problem: after triggering any transaction (not a signature) we can see
how now a Signature request is also triggered. Additionally, the
information about RPC requests is held in the Signature request (which
should not be there) instead of in the transaction request.

## **Expected behavior**
No Signature event should be triggered if we perform a transaction
RPC information should be held inside the transaction request, instead
of the signature, for transactions

## **Fix**
We are sending signature events on confirm page, we shouldn't. This call
is now removed. Then on Transaction Events, we should add the blockaid
RPC calls. There's already a code for this in metrics helper. We just
need to call this in metrics to add the blockaid params.

## **Related issues**

Fixes: #21739 

## **Manual testing steps**

1. Enable a metrics project / or look the background console
2. Select Mainnet
3. Go to the test dapp
4. Trigger a transaction
5. See how no info about RPC is held in the transaction event
6. See how a Signature request is also triggered, alongside the
transaction
7. Checkout this branch
8. Repeat step 1-4
9. See how RPC info is sent in Transaction Added event
10. See how no signature request event is triggered.

## **Screenshots/Recordings**

### **Before**

https://github.com/MetaMask/metamask-extension/assets/54408225/96293fc6-507c-41d1-9fbc-e38a011ff845

### **After**


https://github.com/MetaMask/metamask-extension/assets/44811/44bbd5f6-247a-4369-8b2c-9f3c8c180075


## **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
- [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:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] 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.

---------

Signed-off-by: Akintayo A. Olusegun <[email protected]>
…nature (#21955)

## **Description**

For some reason, [this
merge](#21791) is
showing this warning on Github
<img width="1630" alt="Screenshot 2023-11-23 at 02 53 46"
src="https://github.com/MetaMask/metamask-extension/assets/44811/8486638c-09da-4e88-a8d0-54e3adedb527">

So I cherry picked it to develop and created this new PR.

This is basically a copy and paste of #21791 but this time using develop
as base.

Below is the original Description copied over from 21791 for completion
----------
When you click on a signature request that is flagged by PPOM, 2 events
are sent to metrics instead of 1.

### Expected behavior

Just 1 Signature request should be triggered for a Signature event
flagged by PPOM

## **Related issues**

Fixes: #21770 

## **Manual testing steps**

1. Launch MM
2. Open background console and open the network app, make sure it's
recording network requests
3. Open testdapp
4. Click on any of the signature requests for PPOM e.g Malicious Trade
Order
5. Go to background console network tab and see 2 signature requests
called as shown in the video
6. Checkout this branch, build and run MM
7. Repeat steps 2-4
8. On the background console, you should now see only 1 signature
request sent.

## **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/54408225/926b1da1-deac-45b3-91d9-f55f5da6cbe6)

### **After**


https://github.com/MetaMask/metamask-extension/assets/44811/f7f32a58-dcff-4a76-8bdb-6579d6693b88

## **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
- [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:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] 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.
## **Description**
[Original PR
](#21959)

FIX: Currently all transactions in MMI will fail if Note To Trader is
not
enabled for a specific custodian

This is due to the metadata property on a txData being set in a
conditional that does not always evaluate true.

This PR defines this property outside the conditional.

## **Related issues**

Fixes: MMI Jira Ticket MMI-4124

## **Manual testing steps**


1. Disable note to trader in Saturn Custody
2. Confirm a transaction
3. Observe that no error is thrown


## **Screenshots/Recordings**


### **Before**


![image](https://github.com/MetaMask/metamask-extension/assets/1504499/c3cc47d0-ad15-4ec6-8519-36ca4732e631)

### **After**

(No error)

## **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
- [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".
- [x] 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: António Regadas <[email protected]>
[cherry-pick Confirmations Metrics PRs] fix: After triggering a Transaction, a Signature request metrics even…
@seaona
Copy link
Contributor

seaona commented Nov 24, 2023

Confirmations UX Team QA Sign Off: after the metrics fixes were merged I confirm everything looks good on our side in this branch

…rect because of local code when yarn lavamoat:auto was run on the 11.6.0 branch
Co-authored-by: Frederik Bolding <[email protected]>
Co-authored-by: Dan J Miller <[email protected]>
@metamaskbot
Copy link
Collaborator

Builds ready [c7534d9]
Page Load Metrics (283 ± 185 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint8314696136
domContentLoaded6811283115
load801112283385185
domInteractive6811283115
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 104.86 KiB (2.78%)
  • ui: -9.4 KiB (-0.14%)
  • common: -1.4 KiB (-0.03%)

@danjm
Copy link
Contributor

danjm commented Nov 24, 2023

I just did a final smoke test, testing sends and swaps on multiple networks, switching networks frequently. Also connected to opensea and optimism.

@danjm danjm merged commit 51512f8 into master Nov 24, 2023
67 of 68 checks passed
@danjm danjm deleted the Version-v11.6.0 branch November 24, 2023 19:20
@github-actions github-actions bot locked and limited conversation to collaborators Nov 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.