-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version v12.3.0 #26973
Version v12.3.0 #26973
Commits on Jul 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f60b43e - Browse repository at this point
Copy the full SHA f60b43eView commit details -
Configuration menu - View commit details
-
Copy full SHA for def6b15 - Browse repository at this point
Copy the full SHA def6b15View commit details -
ci: Disabling non-lint CI on the l10n_crowdin_action branch (#25809)
Co-authored-by: Mark Stacey <[email protected]> Co-authored-by: Howard Braham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e562224 - Browse repository at this point
Copy the full SHA e562224View commit details
Commits on Jul 19, 2024
-
fix: notification slowness and crashes (#25946)
## **Description** This is a series of fixes added to core libraries. Adding to extension, and soon we will migrate extension to use shared libraries. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25946?quickstart=1) ## **Related issues** MetaMask/core#4530 MetaMask/core#4531 MetaMask/core#4532 MetaMask/core#4533 MetaMask/core#4536 #25749 ## **Manual testing steps** 1. Create multiple accounts 2. Go to notification settings page 3. Wait for settings to load, and try toggling notifications Before: some settings would error or not load After: you should be able to toggle accounts and not see errors. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** [<!-- [screenshots/recordings] -->](#25749) ### **After** https://www.loom.com/share/49b582e8c33b4199bdafc994a3f6087f?sid=9f94a885-351b-4fee-84d8-f72c97506e7d ## **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.
Configuration menu - View commit details
-
Copy full SHA for 003ee98 - Browse repository at this point
Copy the full SHA 003ee98View commit details -
fix: show current network if domains are undefined (#25960)
If Experimental settings `Select Networks for each site` is off, the domains are undefined. In this case, the fallback network should be the current network. ## **Related issues** Fixes: [#25887](#25887) ## **Manual testing steps** 1. Connect MetaMask to Dapp 2. Go to Permissions, check the logo of network is specific to connected network 3. Turn the experimental setting off, Go back to all permissions page. Now the network logo should be same as globally selected network for all the dapps ## **Screenshots/Recordings** ### **Before** ![Screenshot 2024-07-19 at 12 06 29 AM](https://github.com/user-attachments/assets/53fc2ee5-2c0f-46ff-892c-3ee48ad28a6d) ### **After** https://github.com/user-attachments/assets/fe0bed9e-c050-4ab8-8607-bf933e1eac63 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 3454333 - Browse repository at this point
Copy the full SHA 3454333View commit details -
fix: fixed max width for permissions page (#25870)
For full screen view, the permissions page width should follow the page size what we have for other screens ## **Related issues** Fixes: #25678 ## **Manual testing steps** 1. Go to Full Screen View 2. Go to Permissions Page 3. Check the Permissions Page has same width as the other pages ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** ![Screenshot 2024-07-16 at 6 30 05 PM](https://github.com/user-attachments/assets/09de7ac4-ec50-4fb0-bea2-0f489e9d3164) ### **After** ![Screenshot 2024-07-16 at 6 26 32 PM](https://github.com/user-attachments/assets/ee9d0ccd-17dd-4283-a305-d77787c4673e) ## **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.
Configuration menu - View commit details
-
Copy full SHA for 61c7d16 - Browse repository at this point
Copy the full SHA 61c7d16View commit details -
test: Add integration tests for permit simulation section (#25856)
<!-- 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/25856?quickstart=1) ## **Related issues** Fixes: [#24681](#24681) ## **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.
Configuration menu - View commit details
-
Copy full SHA for 52f4868 - Browse repository at this point
Copy the full SHA 52f4868View commit details -
fix(multichain): use accounts{Added,Removed} to fetch/clear balances (#…
…25884) ## **Description** Fixing the balances fetching that happens a bit too frequently. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25884?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#527 ## **Manual testing steps** - Use `yarn start:flask` - Enable Bitcoin support: Settings > Experimental > Bitcoin toggles - Create Bitcoin accounts (mainnet, testnet or both) - You should see your balances as usual Extra steps: - You can check your `Network` tabs on your dev-tools and look for blockchair requests - You should see 1 request (for each Bitcoin accounts) upon account creation (to fetch the initial balance) - You should NOT see any new requests when you're adding new Ethereum/HW accounts or when selecting a new accounts (basically any changes to the `AccountsController` should not trigger new fetches) - You MIGHT see new requests after some time (around 10min, which is the average block time of Bitcoin), to refresh the balance ## **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.
Configuration menu - View commit details
-
Copy full SHA for 8574f94 - Browse repository at this point
Copy the full SHA 8574f94View commit details -
feat: Show the Close extension button on the Smart Transaction Status…
… Page for a pending dapp transaction (#25965)
Configuration menu - View commit details
-
Copy full SHA for 9ad686b - Browse repository at this point
Copy the full SHA 9ad686bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 43b8031 - Browse repository at this point
Copy the full SHA 43b8031View commit details -
fix: fix overlapping modals (#25962)
## **Description** Fixes overlapping modals [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25962?quickstart=1) ## **Related issues** Fixes:#25465 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** https://github.com/user-attachments/assets/51d94c8d-3901-4d4d-8cb8-abad8a0de1b6 <!-- [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.
Configuration menu - View commit details
-
Copy full SHA for 29936c5 - Browse repository at this point
Copy the full SHA 29936c5View commit details -
fix: fix link redirection (#25983)
<!-- 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/25983?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/94733e67-e6b2-4dc9-9cfc-c814f2fad605 ### **After** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/236c12c4-cb98-45ee-9919-cc1c100e68ba ## **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.
Configuration menu - View commit details
-
Copy full SHA for 20c5baf - Browse repository at this point
Copy the full SHA 20c5bafView commit details -
Configuration menu - View commit details
-
Copy full SHA for c9907bd - Browse repository at this point
Copy the full SHA c9907bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee1dfe4 - Browse repository at this point
Copy the full SHA ee1dfe4View commit details -
feat: Adding state per window in e2e, excluding null state (#25900)
A suggestion from @hjetpoluru, this PR aims to add better context to artifacts by logging state from multiple windows, as well as removing state artifacts that are null. This is similar to #25453. Also fixes an mv3 offscreen issue found by @HowardBraham. The runner would get hung up on taking a screenshot if it was the offscreen window. <!-- 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/25900?quickstart=1) ## **Related issues** Fixes: #25874 ## **Manual testing steps** 1. Run a failing e2e test 2. Verify that the test-failure-state.json artifact are now numbered and the number matches the relevant screenshot ## **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.
Configuration menu - View commit details
-
Copy full SHA for 38f2d6b - Browse repository at this point
Copy the full SHA 38f2d6bView commit details -
fix: vertically align asset image (#25988)
<!-- 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 #25470, the `BadgeWrapper` was implemented for the send flow. By default, this component uses `inline-block` styling and `align-self: start` to allow the network icon and asset icon to maintain alignment; this prevents the existing flex box styling from being applied. This is mitigated by wrapping the component in a `Box` component. <!-- 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/25988?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to send page 2. Select a recipient 3. Ensure that the token image is vertically aligned 4. Switch to an NFT 5. Ensure that the NFT image is vertically aligned ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="365" alt="Screenshot 2024-07-19 at 1 58 15 PM" src="https://github.com/user-attachments/assets/a1cd7f6d-ec76-444e-bd7d-0bc8cf8732f4"> <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> <img width="365" alt="Screenshot 2024-07-19 at 1 59 48 PM" src="https://github.com/user-attachments/assets/a9eda763-2469-43bc-8edb-3dfa959caf51"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for 62e01ef - Browse repository at this point
Copy the full SHA 62e01efView commit details
Commits on Jul 22, 2024
-
chore: MMI-5248 introduce the token allowance functionality for MMI (#…
…25967) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Adds code fences to enable the token allowance functionality for MMI by following the correct flow. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask 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.
Configuration menu - View commit details
-
Copy full SHA for 922e0f8 - Browse repository at this point
Copy the full SHA 922e0f8View commit details -
fix: flaky test Settings Redirects to ENS domains when user inputs EN…
…S into address bar (#25782) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The fix is based on adding a css class `controller-loaded` whenever the initialization is done and using this class to determine when to proceed with the test action of navigating to a new page, where we try to resolve an ens address. The author of this work is @davidmurdoch [PR](#25334) , and I just fixed the conflicts with develop. Note: When I tried to do this in David's branch I got this error, and also if I try to merge this branch into his, then I see >900 changes against develop, which is quite strange 🤔 so I'm now targeting develop directly in this branch, on top of his commits. ![Screenshot from 2024-07-11 20-58-14](https://github.com/user-attachments/assets/c6d43195-2985-409c-88f0-48218ade03f4) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25782?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: David Murdoch <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 39e00e9 - Browse repository at this point
Copy the full SHA 39e00e9View commit details -
fix: updated switch to this account condition (#25609)
On the connections, if user has only one account connected and that account is not the selected account, the account list item options wasn't showing switch to this account option. This PR fixes it NOTE: If reviewers are not able to check the connections page on develop (That work is done via this PR #25500). Please route to connections page via all permissions ## **Related issues** Fixes: NA ## **Manual testing steps** 1. Connect single account in MetaMask to a Dapp 2. Switch to an account which is not connected to the Dapp 3. Go to Connections Page, click the three dot menu 4. Switch to this account option should show 5. Switch to this account option should not show when there is only one account connected to Dapp and that is also the selected account ## **Screenshots/Recordings** ### **Before** https://github.com/MetaMask/metamask-extension/assets/39872794/6e733bca-0d82-42d9-ad7e-1ee41d7aea14 ### **After** https://github.com/MetaMask/metamask-extension/assets/39872794/5e95b5c1-30e6-4285-a1f0-8cbc0b605fd2 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 09eab65 - Browse repository at this point
Copy the full SHA 09eab65View commit details -
fix:
vault-decryption
test since the order of announcement modals c……hanged (#25997) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes the flaky test for `vault-decrypt` since the announcement order for the Token Detection and NFT Detection has been changed, due to [this PR](#25962) Check ci failure: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92592/workflows/69a4ac30-668a-4358-93b7-2a80fab3a43c/jobs/3447582/steps [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25997?quickstart=1) ## **Related issues** Fixes: #25998 ## **Manual testing steps** 1. Check ci https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92639/workflows/ce56ec73-4feb-4496-9be4-ab836c818728/jobs/3448859 ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/user-attachments/assets/602dc129-3d99-4665-abf3-8c136879af70 ### **After** https://github.com/user-attachments/assets/d7cef953-7ceb-435a-b523-a22f13c7b6ea ## **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.
Configuration menu - View commit details
-
Copy full SHA for 4aa5b28 - Browse repository at this point
Copy the full SHA 4aa5b28View commit details -
feat: add utility function to get supported chains from the Security …
…Alerts API (#25716) <!-- 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 aims to include a new utility function to get supported chains from the Security Alerts API when enabled. #### Related Repository Refer to the [Security Alerts API repository](https://github.com/consensys-vertical-apps/va-mmcx-security-alerts-api) for more details. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25716?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2846 ## **Manual testing steps** 1. Test blockaid regression 2. add the envs ```shell SECURITY_ALERTS_API_URL='https://security-alerts.dev-api.cx.metamask.io' SECURITY_ALERTS_API_ENABLED='true' ``` - Go to test dapp and trigger on of the malicious signatures - To verify in chrome go to dev tools > network. Search for `security-alerts` and find the call to the API service. Existing PPOM logic should function as before, even with the above environment variables added, due to the fallback to the controller in the event of an error. ## **Screenshots/Recordings** [supported-chains.webm](https://github.com/MetaMask/metamask-extension/assets/45455812/60d0bcec-579d-42a7-8faf-e1be00dda1d8) <!-- 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.
Configuration menu - View commit details
-
Copy full SHA for 2103232 - Browse repository at this point
Copy the full SHA 2103232View commit details -
fix:
yarn:start:test:flask
is brokenLavapack is not defined
(#25995) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The script `yarn:start:test:flask` is broken and whenever we try to run a test we get `Lavapack is not defined`. The problem is that we are adding these 2 flags `--apply-lavamoat=false --snow=false` , which shouldn't be there, in the same way, we don't use these flags for the ci flask test build (mv3), which is the reason why this doesn't fail in ci. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25995?quickstart=1) ## **Related issues** Fixes: #25996 ## **Manual testing steps** 1. Run locally `yarn:start:test:flask` before the fix and run a test --> see the build is broken 2. Now remove the flags and do it again --> see the build is successful and tests start running ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/user-attachments/assets/784a8ab4-4a91-431e-b0bd-322f7f2bfd11 ### **After** https://github.com/user-attachments/assets/0541cae8-f9b3-46e6-84c1-470fd8eee90e ## **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: Maarten Zuidhoorn <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3691c0 - Browse repository at this point
Copy the full SHA e3691c0View commit details -
feat: Move ENABLE_CONFIRMATION_REDESIGN feature flag to the developer…
… settings page (#25520) <!-- 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/25520?quickstart=1) ## **Related issues** Fixes: [#2620](MetaMask/MetaMask-planning#2620) ## **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.
Configuration menu - View commit details
-
Copy full SHA for 721a38b - Browse repository at this point
Copy the full SHA 721a38bView commit details -
test: UX: Multichain: Add E2E for signaling network change from Netwo…
…rk menu to dapp, Autoswitching networks (#25765) ## **Description** Adds an end to end tests for: * Autoswitching networks upon UI load * Autoswitching networks upon last confirmation rejection/confirmation * Signaling network change from extension to dapp [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25765?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. N/A, this is a E2E addition ## **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.
Configuration menu - View commit details
-
Copy full SHA for 5540fdf - Browse repository at this point
Copy the full SHA 5540fdfView commit details -
test: Adding e2e for SIWE and re-enabling redesign for SIWE (#25831)
<!-- 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/25831?quickstart=1) ## **Related issues** Fixes: [#24679](#24679) ## **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.
Configuration menu - View commit details
-
Copy full SHA for edb401a - Browse repository at this point
Copy the full SHA edb401aView commit details -
fix: add migration for profile syncing controller (#26004)
<!-- 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** For existing users, we want to ensure that profile syncing is disabled (opt-in). This migration ensures that the `isProfileSyncingEnabled` controller state is changed to false for existing users. This will need to be cherry-picked into v12.0.0 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26004?quickstart=1) ## **Related issues** Fixes: V12 testing issue of the state for profile syncing. ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for afe1120 - Browse repository at this point
Copy the full SHA afe1120View commit details -
fix: Fix permssions for
update-attributions
workflow (#26019)## **Description** The `update-attributions` workflow was using a low-privilege token for checking out the repository. The checkout step is what determines which credentials are used upon `push`. The later step with `git push` was failing with a HTTP 403 response despite having a token declared with write access, because `git push` uses the credentials setup during checkout. Example failure: https://github.com/MetaMask/metamask-extension/actions/runs/10046473531 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26019?quickstart=1) ## **Related issues** Relates to MetaMask/MetaMask-planning#1947 ## **Manual testing steps** We can't easily test this until after it's merged. Once this is merged, we can see that it works by using the command `@metamaskbot update-attributions`. We can see that the changes made here reflect how the `update-policies` workflow works, which uses the same type of authorization. ## **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.
Configuration menu - View commit details
-
Copy full SHA for 02166e0 - Browse repository at this point
Copy the full SHA 02166e0View commit details -
fix: update css for modals (#25961)
## **Description** Few css updates on nft and token detection modal [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25961?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] --> ![image](https://github.com/user-attachments/assets/c3fbf5e7-cb7a-42e0-b77f-b6b04d23daaf) ### **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: georgewrmarshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 70955a5 - Browse repository at this point
Copy the full SHA 70955a5View commit details
Commits on Jul 23, 2024
-
fix: map the supported block explorers (#25908)
<!-- 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 a new object to map the block explorers needed to display certain details of the notifications. The created object is intentionally as simple as possible. The goal of the notifications team is to define a more complete object in a shared library among the different clients to correctly render notifications where necessary. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25908?quickstart=1) ## **Related issues** Fixes: - #25882 - #25880 - #25878 - #25881 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [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.
Configuration menu - View commit details
-
Copy full SHA for 9395988 - Browse repository at this point
Copy the full SHA 9395988View commit details -
fix: 🏷️ update the text in the popup to enable notifications (#26026)
## **Description** This PR fixes the reported bug: #25994. The PR changes the text to inform the user about the option to disable notifications from the notifications settings page (see images). The ability to enable/disable notifications directly from the general settings is expected to be implemented in future releases. <img width="376" alt="Screenshot 2024-07-22 at 22 37 30" src="https://github.com/user-attachments/assets/a426fb14-fa2c-45fb-a3d1-bde270df17e8"> <img width="371" alt="Screenshot 2024-07-22 at 22 37 38" src="https://github.com/user-attachments/assets/b178faf5-0a8f-472a-8971-3519e2932726"> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26026?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** - [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.
Configuration menu - View commit details
-
Copy full SHA for d3b9943 - Browse repository at this point
Copy the full SHA d3b9943View commit details -
fix: Revert "refactor: use withKeyring method (#25435)" (#26041)
<!-- 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** [Revert "refactor: use withKeyring](#25435) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26041?quickstart=1) ## **Related issues** Fixes: ci failures for Create Snap accounts ## **Manual testing steps** 1. check ci for ff and ff flask https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92931/workflows/0e8fb7fe-e5bb-4cec-816c-eed6a97c0d45/jobs/3461246/steps https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92931/workflows/0e8fb7fe-e5bb-4cec-816c-eed6a97c0d45/jobs/3461243 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 821c3bd - Browse repository at this point
Copy the full SHA 821c3bdView commit details -
feat: Migration #122 set redesignedConfirmationsEnabled to true (#25769)
<!-- 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 migration sets redesignedConfirmationsEnabled to true. Some users may have explicitly turned off the experimental setting, which this migration will reset to true. This is intentional as we also plan to remove the setting in an upcoming release. I also added the redesigned confirmation prop to the Sentry state log. Needed to add or not add it to support the setting in the tests. I went with adding it. --- Getting the tests to pass were a bit tricky. It turns out the migrations run after the fixtures are set. The withPreferencesController fixture method is no help here. One way we discussed to set the desired test state is to set the previous migration data to the state and setting the fixture migration version to the current version: ``` meta: { version: 122 } ``` This would require opening a live version, extracting the latest migration state, and adding the mock state to the tests. Instead, we manually toggle the setting off for each test that requires the old signature pages. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25768?quickstart=1) ## **Related issues** Fixes: #24614 ## **Manual testing steps** 1. Turn off the Experimental > Improved signature redesign setting 2. Run newest version with migration 3. Observe setting has been turned on ## **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.
Configuration menu - View commit details
-
Copy full SHA for 3ec4b1e - Browse repository at this point
Copy the full SHA 3ec4b1eView commit details -
fix: Flaky "Signature Approved Event" e2e test (#26040)
## **Description** Fixes flaky "Signature Approved Event" tests by awaiting a click event [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26040?quickstart=1) ## **Related issues** Fixes: #26036 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 4d9a690 - Browse repository at this point
Copy the full SHA 4d9a690View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f2e64b - Browse repository at this point
Copy the full SHA 4f2e64bView commit details -
fix: Remove special reject button case from api spec tests (#26048)
## **Description** Merging #25769 toggled on the signatures redesign by default for all tests. This change resulted in `api-spec` tests failing. The fix is removing the logic for conditionally expect a "Reject" button instead of the default "Cancel" for some confirmations. In the redesign all signatures share the same footer. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26048?quickstart=1) ## **Related issues** No issue created for this test failure ## **Manual testing steps** Create a test build, then run `yarn test:api-specs` ## **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.
Configuration menu - View commit details
-
Copy full SHA for a3c4333 - Browse repository at this point
Copy the full SHA a3c4333View commit details -
chore: Temporarily disable Playwright Swaps tests (#26050)
## **Description** Temporarily disabling the tests that were added [here](#25060), because they need to be more stable. Once they are, we can enable them again. ## **Related issues** Fixes: ## **Manual testing steps** 1. `test-e2e-swap-playwright - OPTIONAL` step will not be run in a pull request. ## **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.
Configuration menu - View commit details
-
Copy full SHA for 82382cd - Browse repository at this point
Copy the full SHA 82382cdView commit details -
chore: add privacy query params to portfolio navigation (#25958)
## **Description** - Added `metricsEnabled` and `marketingEnabled` query params to reflect user privacy preferences on user navigation to Portfolio. These settings, sent from extension, will be consumed by the Portfolio to update and align privacy preferences. - Updated all relevant e2e and unit tests to include the params. Context: Our current privacy opt-in rate has been low since some recent updates to our privacy flow, so we are aligning our privacy settings with the other platforms. ## **Related issues** Fixes: ## **Manual testing steps** 1. Update privacy preferences in settings for both MetaMetrics and Marketing 2. Navigate to Portfolio 4. See that the privacy params accurately reflect the user's settings in mobile Example URL: `https://portfolio.metamask.io/?metamaskEntry=ext_portfolio_button&metametricsId=0xbcd1a47f61d820aac3158af775dfee88828e5330aae11f3048767aab7e99b474&metricsEnabled=false&marketingEnabled=false` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> With query params attached: https://www.loom.com/share/7f372324de1e452a837e5faa9860ee94 ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.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-mobile/blob/main/.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.
Configuration menu - View commit details
-
Copy full SHA for baf93a3 - Browse repository at this point
Copy the full SHA baf93a3View commit details -
fix: flaky test 25912 (#25913)
This PR is to fix the flaky test associated with the 'User Operations from swap' test case. While I couldn't replicate the issue locally, the screenshots suggest a delay in transitioning from the swap action to clicking the close button. Upon further investigation with @seaona, we determined that processing the swap transaction was taking time, as shown in the screenshot below. Consequently, a mock for the swap has been introduced. --------- Co-authored-by: seaona <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cebb0db - Browse repository at this point
Copy the full SHA cebb0dbView commit details -
fix: flaky test `Import flow @no-mmi Import wallet using Secret Recov…
…ery Phrase with pasting word by word` (#26049) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The test `Import flow @no-mmi Import wallet using Secret Recovery Phrase with pasting word by word` fails because after opting out from metametrics, we land into the Home page again instead of going to the Import SRP page, causing the test to fail as the srp element cannot be located ([ci failure](https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92953/workflows/ee7ae0a5-2afd-4718-83b9-b5b335f69f82/jobs/3462015/tests)). This is a race condition on the wallet level, and not on the test level: iinstead of going inside the `ONBOARDING_IMPORT_WITH_SRP_ROUTE` condition, we fallback to the DEFAULT_ROUTE which directs you to home (see screenshot of the failure): ``` export function getFirstTimeFlowTypeRouteAfterMetaMetricsOptIn(state) { const { firstTimeFlowType } = state.metamask; if (firstTimeFlowType === FirstTimeFlowType.create) { return ONBOARDING_CREATE_PASSWORD_ROUTE; } else if (firstTimeFlowType === FirstTimeFlowType.import) { return ONBOARDING_IMPORT_WITH_SRP_ROUTE; } else if (firstTimeFlowType === FirstTimeFlowType.restore) { return ONBOARDING_SECURE_YOUR_WALLET_ROUTE; } return DEFAULT_ROUTE; } ``` I am able to consistently reproduce it locally if I add a timeout in the onImportClick function: ``` const onImportClick = async () => { setTimeout(async () => { dispatch(setFirstTimeFlowType(FirstTimeFlowType.import)); }, 200); ``` [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26049?quickstart=1) ## **Related issues** Fixes: #26053 ## **Manual testing steps** 1. Check ci hasn''t failed anymore with the `Import flow @no-mmi Import wallet using Secret Recovery Phrase with pasting word by word` ## **Screenshots/Recordings** Race condition which lands me back to HOME page: https://github.com/user-attachments/assets/514c3340-6bc8-41a2-add2-712e19549737 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 5272c59 - Browse repository at this point
Copy the full SHA 5272c59View commit details -
fix: center token icon (#26013)
## **Description** This PR centers the tokenIcon in `MultichainTokenListItem` [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26013?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-251 ## **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** <img width="1122" alt="Screenshot 2024-07-22 at 18 18 16" src="https://github.com/user-attachments/assets/fe1e09a5-1720-4151-9469-d6c9dfac7b46"> <img width="1120" alt="Screenshot 2024-07-22 at 18 18 29" src="https://github.com/user-attachments/assets/e4b3da2f-3077-4bb6-a38d-29ddf7d98ebe"> Asset picker modal <img width="371" alt="Screenshot 2024-07-22 at 18 30 48" src="https://github.com/user-attachments/assets/b752bc40-7e04-413a-b99d-bd248449fa51"> <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> <img width="1120" alt="Screenshot 2024-07-22 at 18 17 22" src="https://github.com/user-attachments/assets/06905abf-73da-4d90-8974-3f0a19aa739a"> <img width="1123" alt="Screenshot 2024-07-22 at 18 17 47" src="https://github.com/user-attachments/assets/4d1841a6-e128-4e89-ac86-d465de06a9d4"> Asset Picker modal <img width="370" alt="Screenshot 2024-07-22 at 18 28 47" src="https://github.com/user-attachments/assets/4ed41a6e-aba2-49f3-8dec-c587ed0dba8b"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for 40f61bc - Browse repository at this point
Copy the full SHA 40f61bcView commit details -
chore: Create a story for IconButton component (#25277)
## **Description** This PR introduces the Storybook story for the IconButton component. The story provides a default view of the component within the Storybook UI, allowing for interactive testing and development. The story ensures that the IconButton renders correctly with its default properties and responds to user interactions as expected. ## **Related issues** ## **Manual testing steps** 1. Go to the latest build of storybook in this PR. 2. Navigate to the IconButton component in the Components/UI folder. ## **Screenshots/Recordings** ![25b39d33-9c39-40ba-a069-4fea28f1c58f](https://github.com/Devin-Applications/metamask-extension-devin/assets/168687171/ee4a0a81-7fe7-45cd-a2b5-8e0ea499162d) ## **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. [Devin Run](https://preview.devin.ai/devin/70d2612e9904495b8484f3a4e2c21f26) Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for b262267 - Browse repository at this point
Copy the full SHA b262267View commit details -
fix: mmi flaky tests `Reveal SRP through settings completes quiz and …
…reveals SRP QR after wrong answers` , `Sign Typed Data Signature Request can initiate and reject a Signature Request of Sign Typed Data`, `Sign Typed Data Signature Request can queue multiple Signature Requests of Sign Typed Data and confirm` (#26055) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes a race condition where opening the menu and clicking an option, drives you to click the support item for mmi (since the complete menu items take a bit to load). [This fix is already implemented](#25786) by @hjetpoluru here, and this PR just expands the fix to the rest of places of this flakiness occurs, so all credit to Harika. Note: now this action is scattered to different tests, but once we have the page object implementation for all tests, we will have this just in one place: in the action of opening the menu. - ci errors: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/93056/workflows/ba01ff72-1e2e-4eba-b8ea-fb22aa07250c/jobs/3465362/tests [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26055?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Check ci ## **Screenshots/Recordings** ![image](https://github.com/user-attachments/assets/185f2c77-234d-46f8-af0e-92e097095df3) <!-- [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.
Configuration menu - View commit details
-
Copy full SHA for 367cc9e - Browse repository at this point
Copy the full SHA 367cc9eView commit details -
chore: tweak send page styling (#25982)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR addresses the following design issues with the send page: - "Send a token" should just be "Send" - You can send more than tokens (e.g., 721s, 1155s, native assets) - **This header size should also be increased** - The search bar has excessive padding - The "Sending <asset>" component in the destination modal has excessive padding <!-- 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/25982?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Navigate to send page 2. Ensure "Send" is shown at top with `heading-sm` sizing 3. Select a recipient 4. Check all modal flows for slimmer and symmetrical spacing ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** #### Header copy <img width="416" alt="Screenshot 2024-07-19 at 10 57 02 AM" src="https://github.com/user-attachments/assets/b2841be0-4d54-4c08-99a7-e7d735ae621a"> #### Send token <img width="365" alt="Screenshot 2024-07-19 at 10 57 19 AM" src="https://github.com/user-attachments/assets/5dde675a-e1aa-47cb-b4bd-e6cce515247a"> #### Dest token <img width="365" alt="Screenshot 2024-07-19 at 10 57 29 AM" src="https://github.com/user-attachments/assets/a673ffc1-0fc2-4176-a832-87d3246289c8"> #### NFT <img width="365" alt="Screenshot 2024-07-19 at 10 57 43 AM" src="https://github.com/user-attachments/assets/4a2b959f-18f5-4551-b72a-48d4652430df"> <!-- [screenshots/recordings] --> ### **After** #### Header copy <img width="416" alt="Screenshot 2024-07-19 at 10 51 47 AM" src="https://github.com/user-attachments/assets/cf73b6ca-4702-451e-93f4-7eb9e45fd2d4"> #### Send token <img width="365" alt="Screenshot 2024-07-19 at 12 59 31 PM" src="https://github.com/user-attachments/assets/fbfe8634-abbb-4499-bc03-3ca096eca636"> #### Dest token <img width="365" alt="Screenshot 2024-07-19 at 1 00 15 PM" src="https://github.com/user-attachments/assets/7ed04166-bfaf-4289-aaab-9492b31ea412"> #### NFT <img width="365" alt="Screenshot 2024-07-19 at 12 59 58 PM" src="https://github.com/user-attachments/assets/36124363-7d29-4ef4-bbf6-fcc38c133e98"> <!-- [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.
Configuration menu - View commit details
-
Copy full SHA for ef38d62 - Browse repository at this point
Copy the full SHA ef38d62View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad0184b - Browse repository at this point
Copy the full SHA ad0184bView commit details -
test: new switchToWindowWithTitle w/ Extension communication (#25362)
This creates a Socket between Mocha/Selenium and the Extension background script (service worker in MV3). I had originally hoped that we could send a message to the Extension, and make the Extension switch windows. But it seems like Selenium's idea of "which tab/window are we looking at" is not the same as which one the browser has active. In fact, the "real user" can change tabs, and Selenium still works on the old tab. So an attempt to change tabs in the browser effectively does nothing. My second attempt was to send back a list of open tabs and their names. This almost works, except the order of the tab lists is different between the browser list and the Selenium list. So we can't really act on that information to switch to a tab. So the thing I went for is to ask the Extension to wait until there's a window open with the target title or url, and then inform Mocha/Selenium that it exists and to look for it. These changes made a small number of tests more flaky, so I made some minor changes to them to work better with the new system. --------- Co-authored-by: David Murdoch <[email protected]> Co-authored-by: seaona <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 291e6b8 - Browse repository at this point
Copy the full SHA 291e6b8View commit details
Commits on Jul 24, 2024
-
refactor: replace typography with text component in review recovery p…
…hrase (#25265) ## **Description** Migrated the `Typography` component to the `Text` component in the `review-recovery-phrase.js` file. This change is part of the ongoing effort to update the codebase to use the new `Text` component for better consistency and maintainability. Devin Run Link: https://preview.devin.ai/devin/f2332a51ed044002a120b3867453f270 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25265?quickstart=1) ## **Related issues** Partially Fixes: #17670 ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Verify that the `ReviewRecoveryPhrase` component renders correctly with the new `Text` component 3. Ensure that the styling and functionality remain consistent with the previous implementation ## **Screenshots/Recordings** ### **Before** ![](https://api.devin.ai/attachments/9c4c46aa-b7db-428f-a2d5-88302b660067/e5620a83-f1a1-4355-abbc-6b18593ae7fb.png) ### **After** ![after](https://github.com/Devin-Applications/metamask-extension-devin/assets/168687171/9981179c-31be-4051-83b4-a97beb44ec85) ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: George Marshall <[email protected]> Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for aee6585 - Browse repository at this point
Copy the full SHA aee6585View commit details -
refactor: replace Typography with Text component in metametrics.js (#…
…25630) ## **Description** Migrated the `Typography` component to the `Text` component in the `metametrics.js` file. This change is part of the ongoing effort to update the codebase to use the new `Text` component for better consistency and maintainability. Devin Run Link: https://staging.itsdev.in/devin/ab3388199a904772b66d750b70b340af [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25630?quickstart=1) ## **Related issues** Partially Fixes: #17670 ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Verify that the `OnboardingMetametrics` component renders correctly 3. Ensure that the text styles and alignments are consistent with the design specifications ## **Screenshots/Recordings** ### **Before** ![](https://api.devin.ai/attachments/70aa74b6-3cd2-4371-a5cc-1e6ed7485f12/1530a249-da0a-407c-80d6-b049893b007b.png) ### **After** ![](https://api.devin.ai/attachments/54d320cb-f9d0-47c1-8238-8a210d2a77e4/dde3fd7e-c493-4b4e-829b-a37eae4beda5.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** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for d4c2256 - Browse repository at this point
Copy the full SHA d4c2256View commit details -
chore: update Bitcoin Snap to version 0.2.5 (#26058)
## **Description** This PR updates the `@metamask/btc-wallet-snap` to version 0.2.5. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26058?quickstart=1) ## **Related issues** Fixes: <MetaMask/accounts-planning#534> ## **Manual testing steps** N/A ## **Screenshots/Recordings** ### **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** - [ ] 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.
Configuration menu - View commit details
-
Copy full SHA for 2a23c7b - Browse repository at this point
Copy the full SHA 2a23c7bView commit details -
chore: removed unused component (#26000)
<!-- 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** WrongNetworkNotification it’s not used anywhere and we can remove it from the extension. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26000?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** - [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.
Configuration menu - View commit details
-
Copy full SHA for 92a2721 - Browse repository at this point
Copy the full SHA 92a2721View commit details -
chore: migrated institutional ui components to ts (#25858)
<!-- 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** Most of our components are still written in JS; there’s nothing wrong with that, but since MM has been making an effort to move their components to TS and all our new UI pieces are written in TS, we should start moving our UI elements to TS, starting from: `ui/components/institutional/` AC: - At least 50% of our components have been updated to TS along with their unit tests. (start with the smaller, easier components first and then afterwards move to the more complex ones and probably split it into its tickets) ## **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 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. --------- Co-authored-by: MetaMask Bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be1c107 - Browse repository at this point
Copy the full SHA be1c107View commit details -
fix: flaky test: Check the toggle for hex data (#25899)
<!-- 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 is to fix the flaky test occurring in the mmi build, where the dynamic menu option 'Portfolio Dashboard' is loaded and hence added the conditional wait only for the mmi build. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25899?quickstart=1) ## **Related issues** Fixes: #24660 ## **Manual testing steps** Run locally or in codespace the test using below command:- yarn yarn build:test:mmi yarn test:e2e:single test/e2e/tests/settings/show-hex-data.spec.js --browser=chrome --debug --leave-running Note:- Set the variable process.env.MMI = 'true' at the spec file when executing locally. Validate the CI for mmi should pass. ## **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 - [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.
Configuration menu - View commit details
-
Copy full SHA for abe6edb - Browse repository at this point
Copy the full SHA abe6edbView commit details -
docs: Centralize Author/Team Mapping for Commit Tracking (#25986)
This PR removes mapping from public repository and utilizing the team mapping centralized in a private repository, further maintaining author/team mapping in a single, unified location. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25986?quickstart=1) ## **Related issues** Fixes: MetaMask/extension-delivery#271 --------- Co-authored-by: Chloe Gao <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ed7f9e6 - Browse repository at this point
Copy the full SHA ed7f9e6View commit details -
fix:
vault decryption
broken tests due to update on window handling (……#26074) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes the broken test `vault-decryption`. The test was broken when the introduction to the new window handling has been merged [in this PR](#25362). The problem is that we are not using the socket communication when we are not `IN_TEST` build, and in the `vault decryption` test specifically, we are using a production build. Since this is an exception, the fix is to disable the socket communication and do not use the window handling functions from the custom driver that rely on the socket communication for getting the windows. Error: ``` [driver] Called 'waitUntilXWindowHandles' with arguments [2] [driver] Called 'switchToWindowWithTitle' with arguments ["MetaMask"] Failure on testcase: 'undefined', for more information see the artifacts tab in CI Error: No client connected to ServerMochaToBackground ``` Ci: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/93155/workflows/ea0f878b-d13d-4765-b1da-41eb4224f273/jobs/3469123 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26074?quickstart=1) ## **Related issues** Fixes: #26075 ## **Manual testing steps** 1. Check vault job in this PR https://app.circleci.com/jobs/github/MetaMask/metamask-extension/3469757 ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ![Screenshot from 2024-07-24 09-24-34](https://github.com/user-attachments/assets/318b24d4-2729-4a1b-af0a-60164b3717c0) ## **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.
Configuration menu - View commit details
-
Copy full SHA for d3caecc - Browse repository at this point
Copy the full SHA d3caeccView commit details -
refactor: replace typography with text component in creation-successf…
…ul.js (#25552) ## **Description** Migrated the `Typography` component to the `Text` component in the `creation-successful.js` file. This change is part of the ongoing effort to replace the deprecated `Typography` component with the new `Text` component across the codebase. 1. What is the reason for the change? - The `Typography` component is deprecated and needs to be replaced with the new `Text` component to ensure consistency and maintainability in the codebase. 2. What is the improvement/solution? - Replaced all instances of the `Typography` component with the equivalent `Text` component in the `creation-successful.js` file. Updated the import statements and adjusted the props accordingly. **Devin Preview Link** : https://preview.devin.ai/devin/5831161584324481b1fa0cf772bf56bb [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25552?quickstart=1) ## **Related issues** Partially Fixes: #17670 ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Verify that the `CreationSuccessful` component renders correctly without any visual regressions. 3. Ensure that the text and layout are consistent with the "before" state. ## **Screenshots/Recordings** ### **Before** ![](https://api.devin.ai/attachments/c89132d9-08d9-40b1-9371-4643104f1889/ddde300a-045d-4c91-a6fc-1befdec32007.png) ### **After** ![](https://api.devin.ai/attachments/325d3a9f-a4f1-4694-9936-65c43a53fb21/ab58150c-6603-4d6d-b152-f60f024e8ad0.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** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3401943 - Browse repository at this point
Copy the full SHA 3401943View commit details -
fix: remove halo for tokens (#26016)
## **Description** In the Extension, we display a halo around the token avatar, which differs from Mobile and Portfolio. This smaller avatar size makes the avatar less legible and creates an unpolished feel of the product. This PR removes the halo for the main token list component, the import token modal and the asset picker [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26016?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] --> <img width="397" alt="Screenshot 2024-07-22 at 18 47 15" src="https://github.com/user-attachments/assets/3f8acb76-fb0c-4c40-b1eb-a4135e902a34"> <img width="415" alt="Screenshot 2024-07-22 at 18 46 56" src="https://github.com/user-attachments/assets/5e42e910-5655-4ed8-af6a-ff6c1ec0d4f2"> <img width="1124" alt="Screenshot 2024-07-22 at 18 46 45" src="https://github.com/user-attachments/assets/0c480155-3656-49da-9185-42d765373c5e"> <img width="394" alt="Screenshot 2024-07-22 at 18 47 02" src="https://github.com/user-attachments/assets/eff7d877-fde4-4f95-8f06-3671338fbf06"> ### **After** <!-- [screenshots/recordings] --> <img width="422" alt="Screenshot 2024-07-22 at 18 42 31" src="https://github.com/user-attachments/assets/b65d9ed4-6524-4c21-9262-d9f6e1e274b0"> <img width="1242" alt="Screenshot 2024-07-22 at 18 42 45" src="https://github.com/user-attachments/assets/6c6474c6-eab6-4e89-9044-fc0c88e2f703"> <img width="438" alt="Screenshot 2024-07-22 at 18 42 55" src="https://github.com/user-attachments/assets/22b015b4-19ea-457f-91d0-ff78e8fda696"> <img width="489" alt="Screenshot 2024-07-22 at 18 48 53" src="https://github.com/user-attachments/assets/7ed3cf52-271e-44fb-9693-fbac61f048e1"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for 3d2a436 - Browse repository at this point
Copy the full SHA 3d2a436View commit details -
fix: lock Chrome version to 126 (#26101)
## **Description** Chrome version 127 is causing problems on CircleCI. This temporarily locks the Chrome version to 126. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26101?quickstart=1) ## **Related issues** ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [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.
Configuration menu - View commit details
-
Copy full SHA for 335c497 - Browse repository at this point
Copy the full SHA 335c497View commit details -
fix: snap flakiness on
installSnapSimpleKeyring
function (#26039)<!-- 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** There is a race condition where we click `Create Account` on the snap dapp, before the popup for Connecting hasn't been closed (see video below). This causes that the click for Create Account has no effect and the dialog never opens, with the error: `Error: No window with title: MetaMask Dialog` - example of failure [here](https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92347/workflows/a12a664d-4eb8-4c49-a57c-1e58cb49361f/jobs/3437511/tests) in the Remove Account Snap The fix is to wait until the popup is closed before continue. This source of flakiness can affect several snap tests (all the tests that use the `installSnapSimpleKeyring` function). Note: this does not mitigate the current Snap Account issues that we see on ci, but does fix a source of flakiness introduced in this function (I've been able to reproduce the flakiness locally and saw mitigated after the fix, for the Remove Account test). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26039?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Check ci ## **Screenshots/Recordings** Notice how, we start interacting with the dapp again, but the popup hasn't been closed yet (second ~22) https://github.com/user-attachments/assets/fbfe4281-9b1a-4311-bca3-6e746e965109 <!-- [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.
Configuration menu - View commit details
-
Copy full SHA for f861486 - Browse repository at this point
Copy the full SHA f861486View commit details -
fix: Flaky test
Account Custom Name..
(#26062)<!-- 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 address the fix flaky test related to the `Account Custom Name Persistence persists custom account label through account change and wallet lock` Based on the screenshot from the pipeline, the Create button could not be clicked. Therefore, it has been replaced with the clickElementAndWaitToDisappear function. https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92651/workflows/dac61e17-caa2-44ab-979c-05c38b16541b/jobs/3449337/tests ``` ElementClickInterceptedError: Element <button class="mm-box mm-text mm-button-base mm-button-base--size-sm mm-button-base--ellipsis multichain-account-picker mm-text--body-md-medium mm-text--ellipsis mm-box--padding-0 mm-box--padding-right-2 mm-box--padding-left-2 mm-box--display-inline-flex mm-box--gap-2 mm-box--justify-content-center mm-box--align-items-center mm-box--color-text-default mm-box--background-color-transparent mm-box--rounded-lg"> is not clickable at point (575,112) because another element <label class="mm-box mm-text mm-label mm-label--html-for mm-form-text-field__label mm-text--body-md mm-text--font-weight-medium mm-box--display-inline-flex mm-box--align-items-center mm-box--color-text-default"> obscures it ``` ![image](https://github.com/user-attachments/assets/ace3cde9-cc42-453f-88c7-dace15daaa74) <!-- 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/26062?quickstart=1) ## **Related issues** Fixes: #26061 ## **Manual testing steps** Execute the test locally or codespaces using below commands: yarn ENABLE_MV3=false yarn build:test:flask ENABLE_MV3=false yarn test:e2e:single test/e2e/accounts/create-snap-account.spec.ts --browser=firefox There should not be CI failures related to the test. ## **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** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Plasma Corral <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 83e4b2a - Browse repository at this point
Copy the full SHA 83e4b2aView commit details
Commits on Jul 25, 2024
-
fix: number formatting on swap + send tx detail (#26029)
## **Description** Fixes an issue when rendering details for a swap + send transaction. Token amounts less than 1 with >= 6 leading zeroes were formatted in scientific notation. `toString` and `toPrecision` both render scientific in that case, so this PR uses `toFixed` instead. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26029?quickstart=1) ## **Related issues** Fixes: #25876 ## **Manual testing steps** 1. Do a swap + send transaction with a source and/or destination amount < .000001 2. Click activity tab 3. Click on the transaction 4. Source and destination amounts should not be in scientific notation ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="340" alt="Screenshot 2024-07-22 at 4 09 49 PM" src="https://github.com/user-attachments/assets/64f2dd69-2ffe-4a15-8e59-63f519b416b8"> ### **After** <img width="344" alt="Screenshot 2024-07-22 at 4 14 20 PM" src="https://github.com/user-attachments/assets/517294b0-1ae5-49d1-82a5-e46a1345daa8"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for 6c41556 - Browse repository at this point
Copy the full SHA 6c41556View commit details -
chore: Create a story for InvalidCustomNetworkAlert component (#25600)
## **Description** This PR introduces the Storybook story for the `InvalidCustomNetworkAlert` component, allowing for isolated development and testing of this UI component. The story was created to facilitate the visualization and interaction with the `InvalidCustomNetworkAlert` in various states, ensuring its robustness and responsiveness to different content and contexts. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25600?quickstart=1) ## **Related issues** - None ## **Manual testing steps** 1. Go to the latest build of Storybook in this PR. 2. Navigate to the `InvalidCustomNetworkAlert` component in the Components/ folder. 3. Verify that the Storybook entry for this component is functioning correctly and displays as expected in various states. ## **Screenshots/Recordings** <img width="1510" alt="Screenshot 2024-07-23 at 5 55 26 PM" src="https://github.com/user-attachments/assets/fac1aa2f-eba0-4af4-bed8-fdddf69b8285"> ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability. - [X] I’ve included tests if applicable. - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable. - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]> Co-authored-by: Garrett Bear <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 98d792f - Browse repository at this point
Copy the full SHA 98d792fView commit details -
fix: display link to privacy-policy explanation in onboarding flow (#…
…26038) <!-- 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 link to the Metametrics page during the onboarding process to explain to the user how their data will be managed using the new profile syncing feature. The user is redirected to this link: https://support.metamask.io/privacy-and-security/profile-privacy#how-is-the-profile-created This is the Figma with the requested modification: https://www.figma.com/design/1otUTgYHYD7A77pgP7wT2v/MetaMetrics-update?node-id=3-275&t=bw8aqpz5nBQ6rTVV-0 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26038?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. During the onboarding process 2. On the Metametrics page 3. Verify the presence of the text and the link ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="1624" alt="Screenshot 2024-07-23 at 08 26 12" src="https://github.com/user-attachments/assets/d0ff2e1d-be3f-4705-bcd4-a598ed9cad92"> ### **After** <img width="1624" alt="Screenshot 2024-07-23 at 16 39 37" src="https://github.com/user-attachments/assets/b86785cb-85f8-43e9-a454-ddca42e8696d"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for d6b7829 - Browse repository at this point
Copy the full SHA d6b7829View commit details -
feat: Add metrics event for advanced details section toggling (#26083)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** We recently introduced the advanced details toggle for redesigned transactions. This PR adds a metrics event that gets fired every time that toggle is pressed. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26083?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2736 ## **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.
Configuration menu - View commit details
-
Copy full SHA for bdcea3d - Browse repository at this point
Copy the full SHA bdcea3dView commit details -
fix: add ellipsis for permit fiat values (#26001)
<!-- 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 goal is to add ellipsis to the fiat value if it's more than 15 character in permit simulations. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26001?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2842 ## **Manual testing steps** 1. Go to cowswap 2. Swap a token with gas-free approve for another token 3. Notice the permit signature screen ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <img width="472" alt="Screenshot 2024-07-22 at 14 40 57" src="https://github.com/user-attachments/assets/c5879989-7719-4e4b-902f-1f57144d8889"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for 8281f92 - Browse repository at this point
Copy the full SHA 8281f92View commit details -
feat: Mitigate risk for distracted users on queued transactions from …
…different dApps (#25852) ## **Description** Adds new Banner alert and corresponding metrics event. Also adds metric to navigation when there's are queued confirmations. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25852?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2758 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 257acdd - Browse repository at this point
Copy the full SHA 257acddView commit details -
refactor: Create reusable ConfirmInfoRowTextTokenUnits component (#26105
) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** No UI/UX changes Create reusable ConfirmInfoRowTextTokenUnits notes: - there is an outstanding bug ticket to redesign the display length of the amount to max 15 characters. This will be handled separately - there's also a precision issue being handle separately [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26105?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2888 ## **Manual testing steps** 1. Create a redesign Permit transaction 2. Observe amount displays as expected ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** ![CleanShot 2024-07-25 at 03 35 08](https://github.com/user-attachments/assets/92e6db4e-7618-43d6-8259-d9e16f436dbe) ## **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.
Configuration menu - View commit details
-
Copy full SHA for c204377 - Browse repository at this point
Copy the full SHA c204377View commit details -
fix: Move Snaps hooks out of code fence (#26120)
## **Description** Some hooks used by Snaps were wrongfully placed in a `keyring-snaps` code fence. We haven't noticed this before because `keyring-snaps` is enabled in stable, but these hooks shouldn't be placed there. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26120?quickstart=1)
Configuration menu - View commit details
-
Copy full SHA for 36da322 - Browse repository at this point
Copy the full SHA 36da322View commit details -
chore: mmi 5305 mmi pages typescript migration (#26081)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** We have a few components under pages/institutional that need to be converted to TS: - onboarding-successful - institutional-entity-done-page - account-list - confirm-connect-custodian-modal - confirm-add-custodian-token ## **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 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.
Configuration menu - View commit details
-
Copy full SHA for f9f3cff - Browse repository at this point
Copy the full SHA f9f3cffView commit details -
feat: update network list item to include start accessory and end (#2…
…5507) This PR is to update network list item to include start accessory and end accessory ## **Related issues** Fixes: [2728](MetaMask/MetaMask-planning#2728) ## **Manual testing steps** 1. No UI changes, networks list shouldn't change ## **Screenshots/Recordings** NA ## **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.
Configuration menu - View commit details
-
Copy full SHA for 9b6e343 - Browse repository at this point
Copy the full SHA 9b6e343View commit details -
fix: remove btc account from permission connect lists (#25980)
<!-- 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 filters BTC accounts from the permission connect list. ## **Related issues** Fixes: ## **Manual testing steps** 1. Create a BTC account 2. Connect to a dapp 3. Open popup 4. Click network icon 5. Click on `Connect more accounts` 6. See that there aren't any btc accounts ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ![Screenshot 2024-07-19 at 21 09 57](https://github.com/user-attachments/assets/91dbd13d-c136-4666-ad3d-f57bd85d073d) ### **After** <!-- [screenshots/recordings] --> ![Screenshot 2024-07-19 at 21 04 04](https://github.com/user-attachments/assets/fded0169-c62d-4f2e-9ea0-abf345d711c6) ## **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: Charly Chevalier <[email protected]> Co-authored-by: Daniel Rocha <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 95f7753 - Browse repository at this point
Copy the full SHA 95f7753View commit details -
chore: MMI-5301 adds enums for custody type and status (#26006)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Adds two enums for MMI use: - AccountType - CustodyStatus ## **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.
Configuration menu - View commit details
-
Copy full SHA for fb47887 - Browse repository at this point
Copy the full SHA fb47887View commit details -
feat: make add-team-label use the reusable workflow (#25807)
<!-- 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/25807?quickstart=1) Instead of copy-pasting the implementation of add-team-label to other repositories, such as metamask-extension and metamask-mobile, it should be possible to call the workflow directly from the github-tools repository, if we make it a reusable workflow. This is great, because if we make a change to the workflow in the github-tools repository, the changes propagate to other repositories as well. More information about reusable workflows: https://docs.github.com/en/actions/using-workflows/reusing-workflows This kind of aligns with #25509, but not exactly. The shared library would still be needed nevertheless, as this is only sharing the workflow definition, but not the scripts that are run during the workflow. The scripts still need to exist in all the repositories (for now). Ideally, we would make the shared library an npm package that can be installed in the different repositories to allow for the sharing of scripts. ## **Related issues** Fixes: MetaMask/MetaMask-planning#2760 ## **Manual testing steps** 1. Have the workflow run the same as before, without it being defined in the repository. ## **Screenshots/Recordings** Not applicable ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 51410b2 - Browse repository at this point
Copy the full SHA 51410b2View commit details -
fix: add new helper function for
openMenuSafe
to mitigate all ocurr……ences for opening menu with MMI build (#26079) <!-- 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/26079?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.
Configuration menu - View commit details
-
Copy full SHA for ffa86dd - Browse repository at this point
Copy the full SHA ffa86ddView commit details -
chore: Create a story for Snackbar component (#25515)
## **Description** <!-- [TODO] 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 pull request adds a Storybook story for the `Snackbar` component in the MetaMask extension repository. The story is created to test the `Snackbar` component in isolation and ensure it renders correctly in the Storybook UI. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25515?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** 1. Go to the latest build of Storybook in this PR. 2. Navigate to the `Snackbar` component in the `Components/UI` folder. ## **Screenshots/Recordings** <img src="https://api.devin.ai/attachments/deed578b-e19c-406d-b4bd-202986b554f9/5eeef96f-cc18-42ce-9e33-21dce026014e.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. Link to Devin run: https://preview.devin.ai/devin/5be2ff2370a84b619ee0027d9cbca344 Requested by: the user --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bd45d11 - Browse repository at this point
Copy the full SHA bd45d11View commit details -
chore: Bump
@metamask/transaction-controller
to v34 (#26124)## **Description** The `@metamask/transaction-controller` package has been updated from v32 to v34. The `@metamask/user-operation-controller` package had to be bumped as well to avoid new peer dependency warnings. Primarily the only breaking changes in these ranges were peer dependency updates and an update to the minimum supported Node.js version. The new peer dependencies did not introduce any new warnings, they are all met. This update has resolved some pre-existing peer dependency warnings. The only functional change required was this update to the TransactionController in v33.0.0: ``` - **BREAKING:** The `TransactionController` messenger must now allow the `AccountsController:getSelectedAccount` action ([#4244](MetaMask/core#4244)) ... - **BREAKING:** Remove `getSelectedAddress` option from `TransactionController` ([#4244](MetaMask/core#4244)) - The AccountsController is used to get the currently selected address automatically. ``` That change has been applied. See the full changelogs here: * [`@metamask/transaction-controller`](https://github.com/MetaMask/core/blob/%40metamask/transaction-controller%4034.0.0/packages/transaction-controller/CHANGELOG.md) * [`@metamask/user-operation-controller`](https://github.com/MetaMask/core/blob/%40metamask/user-operation-controller%4013.0.0/packages/user-operation-controller/CHANGELOG.md) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26124?quickstart=1) ## **Related issues** This helps unblock #9372 ## **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. --------- Co-authored-by: MetaMask Bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8db8ba7 - Browse repository at this point
Copy the full SHA 8db8ba7View commit details -
chore: Bump
@metamask/ens-controller
to v12 (#26127)## **Description** This resolves a peer dependency warning; v10.0.1 of the `@metamask/ens-controller` was requesting an older version of the `@metamask/network-controller` package. The versions are aligned with this update. The only breaking changes were to this peer dependency, and to the minimum supported Node.js version. See here for the full changelog: https://github.com/MetaMask/core/blob/%40metamask/ens-controller%4012.0.0/packages/ens-controller/CHANGELOG.md [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26127?quickstart=1) ## **Related issues** This helps to unblock #9372 ## **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. --------- Co-authored-by: MetaMask Bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f048bbf - Browse repository at this point
Copy the full SHA f048bbfView commit details -
chore: cleanup
.prettierignore
file (#24828)A few invalid entries have been removed from the `.prettierignore` file, and the remaining entries have been alphabetized so that they are easier to quickly scan. I did this because I was investigating a strange ESLint error, and these entries made the investigation a little more complicated than it needed to be.
Configuration menu - View commit details
-
Copy full SHA for 855dd80 - Browse repository at this point
Copy the full SHA 855dd80View commit details -
chore: update BNB logos (#26140)
## **Description** Updates BNB network logo to the newly provided png and svg assets. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26140?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** Load app and validate that BNB chain logos are updated. Note that erc20 token logos will not update until MetaMask/contract-metadata#1334 gets merged. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="300" alt="Screenshot 2024-07-25 at 10 20 48 AM" src="https://github.com/user-attachments/assets/1657af96-71b3-4d53-9308-3b5d4127d960"> <img width="300" alt="Screenshot 2024-07-25 at 10 21 06 AM" src="https://github.com/user-attachments/assets/cbda47bf-2dcb-481c-9530-6eda74b9b3e7"> <img width="300" alt="Screenshot 2024-07-25 at 10 22 32 AM" src="https://github.com/user-attachments/assets/8be43670-298e-4b18-900f-3943eac4d310"> <img width="300" alt="Screenshot 2024-07-25 at 10 22 52 AM" src="https://github.com/user-attachments/assets/10762e9f-c0ce-4871-964b-10e0d2112e82"> ### **After** <img width="300" alt="Screenshot 2024-07-25 at 10 38 18 AM" src="https://github.com/user-attachments/assets/ab3ae389-6a68-451f-ae80-b4437343bf8b"> <img width="300" alt="Screenshot 2024-07-25 at 10 38 59 AM" src="https://github.com/user-attachments/assets/80b66ffa-1ad2-422f-86b7-852b6e3b3555"> <img width="300" alt="Screenshot 2024-07-25 at 10 39 52 AM" src="https://github.com/user-attachments/assets/2239643d-401a-4ae8-9850-2495d0c28d69"> <img width="300" alt="Screenshot 2024-07-25 at 10 40 15 AM" src="https://github.com/user-attachments/assets/0c549632-6a1b-4ba4-8bfc-e34b80752fd2"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for b27dd2b - Browse repository at this point
Copy the full SHA b27dd2bView commit details
Commits on Jul 26, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 3d93d82 - Browse repository at this point
Copy the full SHA 3d93d82View commit details -
refactor: fix event names used to track notifications (#25521)
<!-- 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 modifies the names of some tracked events to monitor the use of notifications, ensuring they adhere to the conventions used. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25521?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** - [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. --------- Co-authored-by: Prithpal Sooriya <[email protected]> Co-authored-by: Prithpal Sooriya <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c7880bf - Browse repository at this point
Copy the full SHA c7880bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e503c3 - Browse repository at this point
Copy the full SHA 0e503c3View commit details -
fix: flaky BTC e2e tests (#26082)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes the flaky tests that happens during the firefox e2e. A btc balance mock was also added to reduce api call usage. <!-- 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/26082?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#531 ## **Manual testing steps** N/a ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [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: Charly Chevalier <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 32dc79f - Browse repository at this point
Copy the full SHA 32dc79fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 30dce33 - Browse repository at this point
Copy the full SHA 30dce33View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffa8677 - Browse repository at this point
Copy the full SHA ffa8677View commit details -
fix: Flaky test
4byte setting
(#26111)<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes a flaky test for the MMI build where clicking on the Settings menu option was problematic. I've added a conditional check to wait for the 'Portfolio Dashboard' to load if the build is MMI. <!-- 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/26111?quickstart=1) ## **Related issues** Fixes: #26110 ## **Manual testing steps** Execute below commands local or in codespaces run in chrome the browser yarn yarn build:test:mmi yarn test:e2e:single test/e2e/tests/settings/4byte-directory.spec.js --browser=chrome ## **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.
Configuration menu - View commit details
-
Copy full SHA for f4f008a - Browse repository at this point
Copy the full SHA f4f008aView commit details -
chore: add portfolio ephemeral domain URL (#26163)
## **Description** Adds another supported portfolio URL. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26163?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** N/A ## **Screenshots/Recordings** ### **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** - [ ] 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.
Configuration menu - View commit details
-
Copy full SHA for fddb0a4 - Browse repository at this point
Copy the full SHA fddb0a4View commit details -
chore: MMI move custody component to TS (#26096)
<!-- 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 Custody component to TS. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Albert Olive <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 08c7333 - Browse repository at this point
Copy the full SHA 08c7333View commit details -
feat: define account name during creation (#25191)
## **Description** Changes the add snap account flow to include a final modal that allows snaps to suggest a name for the new account or for the user to input a name for their new account. The new snap account is now created with a name either inputted by the user, suggested by the snap, or the default fallback account name. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25191?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#261 ## **Manual testing steps** <details> <summary>Testing with preinstalled snap</summary> <br /> 1. Go to settings > experimental > toggle on "Enable Add a new Bitcoin account (Beta)" 2. Click on the account list and select "+ Add account or hardware wallet" then "Add new Bitcoin account (Beta)" 3. Go through the flow to add a Bitcoin account without inputting a name, with inputting a name, and canceling adding the account </details> <details> <summary>Testing with account management snap</summary> 1. Go to the [SSK](https://metamask.github.io/snap-simple-keyring/latest/) and connect the snap 2. Go through the flow to create an account without inputting a name, with inputting a name, and canceling adding the account </details> ## **Screenshots/Recordings** ### **Demos** Preinstalled snap flow https://github.com/MetaMask/metamask-extension/assets/91970214/3782a417-4fd0-4b56-b4b7-30f64e75c6e8 Account management snap flow https://github.com/MetaMask/metamask-extension/assets/91970214/9f53a67d-13c5-44ac-b286-78eddbfb89ae ## **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: Charly Chevalier <[email protected]> Co-authored-by: David Walsh <[email protected]> Co-authored-by: Brian Bergeron <[email protected]> Co-authored-by: Nidhi Kumari <[email protected]> Co-authored-by: Ariella Vu <[email protected]> Co-authored-by: Jyoti Puri <[email protected]> Co-authored-by: Mark Stacey <[email protected]> Co-authored-by: Monte Lai <[email protected]> Co-authored-by: Jony Bursztyn <[email protected]> Co-authored-by: Mircea Nistor <[email protected]> Co-authored-by: NidhiKJha <[email protected]> Co-authored-by: legobeat <[email protected]> Co-authored-by: Hassan Malik <[email protected]> Co-authored-by: Frederik Bolding <[email protected]> Co-authored-by: Gustavo Antunes <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0a5be63 - Browse repository at this point
Copy the full SHA 0a5be63View commit details -
fix: update logos for flare-mainnet and songbird (#25560)
<!-- 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 the logos for Flare Mainnet and Songbird. The motivation behind this change is to ensure that the Flare Network's branding is accurately represented in MetaMask, providing users with a more reliable and visually consistent experience across the platform. The previous logo used in the wallet was outdated, and this update brings the visual in line with the current branding guidelines of the Flare network. This improvement enhances the user interface by aligning the network's visual representation with its most current branding, ensuring that users can easily recognize and associate Flare Mainnet and Songbird within MetaMask. <!-- 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/25560?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Navigate to the MetaMask extension and select the network dropdown. 2. Choose the Flare Mainnet and Songbird from the list of available networks. 3. Observe the updated Flare Mainnet and Songbird logo, confirming it matches the current branding guidelines provided by Flare. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="319" alt="metamask_flare_songbird_logos" src="https://github.com/MetaMask/metamask-extension/assets/15251343/49d99244-3cc4-4c2a-9752-7b72c4d9da6a"> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: Brian Bergeron <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 49a6e43 - Browse repository at this point
Copy the full SHA 49a6e43View commit details -
Configuration menu - View commit details
-
Copy full SHA for f938877 - Browse repository at this point
Copy the full SHA f938877View commit details -
test: fix potential api-spec test race condition when adding to task …
…queue (#26171) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Currently it's possible for the afterRequest hook for ConfirmationRejectionRule to be added (and block) to the queue before the transport addToQueue because of the execution flow. the transport doesnt await so that afterRequest can get called, this lets things happen like click the reject button while the request is still pending. see related lines in [api-specs coverage tool](https://github.com/open-rpc/test-coverage/blob/master/src/coverage.ts#L126-L134). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26171?quickstart=1) ## **Related issues** Fixes: #26156 ## **Manual testing steps** 1. Trigger the api-spec job in CI (because this is not reproducible locally it seems) multiple times. It should always pass. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Shane Jonas <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 182f609 - Browse repository at this point
Copy the full SHA 182f609View commit details
Commits on Jul 29, 2024
-
chore: update @metamask/bitcoin-wallet-snap to 0.3.0 (#26168)
# **Description** Bump the BTC Snap to version 0.3.0. - This new release adds the fee estimation feature. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25808?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [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.
Configuration menu - View commit details
-
Copy full SHA for efbdd42 - Browse repository at this point
Copy the full SHA efbdd42View commit details -
chore: migrating interactive-replacement-token-page to ts (#26115)
<!-- 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/26115?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** - [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.
Configuration menu - View commit details
-
Copy full SHA for 7cd38ed - Browse repository at this point
Copy the full SHA 7cd38edView commit details -
fix: Address performance issues with 'Portfolio Dashboard' loading in…
… test environment (#26182) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** We have noticed significant performance issues when accessing the 'Settings' menu option due to delays in loading the 'Portfolio Dashboard'. This delay has caused flakiness in many of our automated tests. The issue appears to have started after changes were made in PR #25899. **Root Cause:** The performance issue is linked to an HTTP request to `https://configuration.dev.metamask-institutional.io/v2/configuration/default` to check if `portfolio.enabled` is true. This request is made in the `onSubmitPassword` method in the `mmi-controller` file, resulting in delays. **Solution:** To mitigate this issue, we have decided to set the `portfolio.enabled` variable to `true` by default in the test environment. This will ensure the 'Portfolio Dashboard' item always appears in the menu during tests, thereby preventing delays caused by the HTTP request and stabilizing our automated tests. **Changes Made:** - Updated the `getMmiPortfolioEnabled` function to return `true` if the `IN_TEST` environment variable is set. - This change applies only in the test environment, ensuring that the production environment remains unaffected. ```diff export function getMmiPortfolioEnabled(state) { if (process.env.IN_TEST) { return true; } return state.metamask.mmiConfiguration?.portfolio?.enabled; } ``` [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26182?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Attempt to click on the Settings menu option. 2. Observe the delay in the ‘Portfolio Dashboard’ loading. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** [<!-- [screenshots/recordings] -->](https://consensys.slack.com/archives/CTQAGKY5V/p1721994785419869?thread_ts=1721902891.054169&cid=CTQAGKY5V) ### **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** - [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.
Configuration menu - View commit details
-
Copy full SHA for 0d8b35f - Browse repository at this point
Copy the full SHA 0d8b35fView commit details -
fix: setupControllerConnection outstream end event listener (#26141)
## **Description** This PR addresses a problem which had the following surface level symptoms: when the UI is closed, the extension continues to send network requests to the provider. Upon some investigation, we discovered that these requests were the result of polling initiated from the account tracker. And then upon further investigation, we discovered that the callback in the `outstream` `'end'` listener in `setupControllerConnection` of `metamask-controller.js` was not being called when the UI was closed. This problem was introduced with #24533. That PR updates the `object-multiplex` dependency to v2.0.0. The major change in that update is the update of the `readable-stream` dependency from a v2 version to a v3 version. With that update, we see new `premature-close` errors in the background. It seems that these errors are still present in v2, but they are handled differently, resulting in an `'error'` event instead of an `'end'` event. We still have not established a definitive understanding of why this is happening, and follow up investigation will be needed. However, this PR still puts forward a fix that safely resolves the issue. The solution added here is to make use of the `readableStream.finished` function. The callback passed to this function will be called when the stream is ended. This function has the same behaviour as the `outstream.on('end'` listener had prior to the aforementioned PR. Instead of fully replacing the existing listener, we have added the `readableStream.finished` call in addition to the existing listener. The reason for this is explained in a code comment: > The presence of both of the below handlers may be redundant. After upgrading metamask/object-multiples to v2.0.0, which included an upgrade of readable-streams from v2 to v3, we saw that the `outStream.on('end'` handler was almost never being called. This seems to related to how v3 handles errors vs how v2 handles errors; there are "premature close" errors in both cases, although in the case of v2 they don't prevent `outStream.on('end'` from being called. At the time that this comment was committed, it was known that we need to investigate and resolve the underlying error, however, for expediency, we are not addressing them at this time. Instead, we can observe that `readableStream.finished` preserves the same functionality as we had when we relied on readable-stream v2. Meanwhile, the `outStream.on('end'` handler was observed to have been called at least once. As we do not yet fully understand the conditions under which both of these are being called, we include both handlers at the risk of redundancy. Logic has been added to the handler to ensure that calling it more than once does not have any affect. To achieve "Logic has been added to the handler to ensure that calling it more than once does not have any affect.", the PR adds a unique id to each stream passed to `setupControllerConnection`, and uses a `Set` to ensure the handler code only runs once per stream. This PR then adds automated tests. The added unit tests are focused on validating both pre-existing and new behaviour of `setupControllerChanged`. The added e2e tests focus on the inititially mentioned surface level symptoms: it confirms that `eth_call` and `eth_getBalance` calls, the calls coming from the account-tracker initiated polling, are not continued after the UI is closed. This e2e test fails on current develop but passes on this branch. MetaMask team members can see more details in this thread: https://consensys.slack.com/archives/CTQAGKY5V/p1721653870583869 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26141?quickstart=1) ## **Related issues** Fixes: #26002 ## **Manual testing steps** To observe the bug on develop: 1. Install and onboard 2. Open the service worker dev console and go to the network tab 3. Observe `eth_call` and `eth_getBalance` requests to infura 4. Close the UI, observe that the requests from step 3 continue On this branch, in step 4, after closing the UI, those requests will not continue. ## **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 - [ ] 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: legobt <[email protected]> Co-authored-by: legobeat <[email protected]> Co-authored-by: Danica Shen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8f6c83e - Browse repository at this point
Copy the full SHA 8f6c83eView commit details -
fix: node being setup twice (#26052)
<!-- 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/26052?quickstart=1) This PR uses the `setup-environment` workflow to reduce duplicated code and optimize performance for cases where Node.js was being setup twice during a workflow. ## **Related issues** Fixes: #25683 ## **Manual testing steps** 1. CI should pass ## **Screenshots/Recordings** Not applicable ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for cb3bcee - Browse repository at this point
Copy the full SHA cb3bceeView commit details -
feat: migrate global unit tests from Mocha to Jest (#26104)
<!-- 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/26104?quickstart=1) This PR converts the global unit tests from Mocha to Jest. It removes the `test-unit-global` CircleCI pipeline and runs the global unit tests on GitHub actions along with the normal unit tests, contributing to the coverage report. Upon discussion with @Gudahtt the ignored dysfunctional unit test `test/unit-global/protect-intrinsics.test.js` which was not compatible with the Jest environment will be re-introduced in a separate PR. The test will be ported to run as part of the e2e test suite, as the browser would be a better test environment, closer to production. ## **Related issues** Fixes: #25496 ## **Manual testing steps** 1. Tests should be in Jest syntax, and should still pass 2. Tests should run on GitHub actions with normal unit tests, not on CircleCI ## **Screenshots/Recordings** Not applicable ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for adf8559 - Browse repository at this point
Copy the full SHA adf8559View commit details -
fix: interpret multipart errors correctly and allow ignore (#26113)
It's usually not a problem, but sometimes errors are received in multiple parts, and then that prevents us from being able to ignore them. The most recent example is trying to ignore `SES_UNHANDLED_REJECTION: (Error#1)` Discussed in #26084
Configuration menu - View commit details
-
Copy full SHA for 4f488b2 - Browse repository at this point
Copy the full SHA 4f488b2View commit details -
refactor: add unlock checks for notification related controllers (#26189
) <!-- 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** Ensures that we correctly call the preinstalled snap when the wallet is unlocked. Also prevents unlock confirmations being created due to snap calls when wallet is locked [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26189?quickstart=1) ## **Related issues** [Ticket](https://consensyssoftware.atlassian.net/browse/NOTIFY-865) Fixes: #26064 ## **Manual testing steps** 1. Install the extension and enable notifications 2. Restart the browser, or reload the extension 3. Should see no auto opening of the wallet, and no unlock confirmations being made. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask 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.
Configuration menu - View commit details
-
Copy full SHA for 2197d29 - Browse repository at this point
Copy the full SHA 2197d29View commit details -
chore: upgrade to Sentry 8 (#25999)
Refactor custom `FilterEvents` integration into object returned by function. Remove usages of `hub`. Fix notification errors when changing metrics preference.
Configuration menu - View commit details
-
Copy full SHA for 4bdb994 - Browse repository at this point
Copy the full SHA 4bdb994View commit details -
chore: Add en_GB locale (#26196)
## **Description** Needed for chrome store description [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26196?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.
Configuration menu - View commit details
-
Copy full SHA for 8dc1c6f - Browse repository at this point
Copy the full SHA 8dc1c6fView commit details -
fix: truncate long tokenId (#26179)
## **Description** This PR adds a popover for NFT tokenIds that are very long. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26179?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] --> <img width="1158" alt="Screenshot 2024-07-29 at 09 49 25" src="https://github.com/user-attachments/assets/4804c5d6-4b65-427c-ad51-299d825757a5"> ### **After** https://github.com/user-attachments/assets/eeeb1452-fda6-43aa-b7f7-4d72b41713f4 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 2d4ecf6 - Browse repository at this point
Copy the full SHA 2d4ecf6View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa21fa4 - Browse repository at this point
Copy the full SHA aa21fa4View commit details -
fix(deps): bump fast-xml-parser from 4.3.4 to 4.4.1. (#26202)
## **Description** Fix audit: ``` └─ fast-xml-parser ├─ ID: 1098305 ├─ Issue: fast-xml-parser vulnerable to ReDOS at currency parsing ├─ URL: GHSA-mpg4-rc92-vx8v ├─ Severity: high ├─ Vulnerable Versions: <4.4.1 │ ├─ Tree Versions │ └─ 4.3.4 ``` [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26202?quickstart=1) ## **Related issues** ## **Manual testing steps** ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for f53dc06 - Browse repository at this point
Copy the full SHA f53dc06View commit details -
chore: remove opera manifest files as they are not used (#26200)
Removes opera's manifest files since we don't actually use it (and it is broken anyway).
Configuration menu - View commit details
-
Copy full SHA for fe11329 - Browse repository at this point
Copy the full SHA fe11329View commit details -
New Crowdin translations by Github Action (#25939)
Co-authored-by: metamaskbot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6eafd29 - Browse repository at this point
Copy the full SHA 6eafd29View commit details
Commits on Jul 30, 2024
-
refactor: remove password manager mention (#25985)
<!-- 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 onboarding for the Secret Recovery Phrase we suggest backing up to a password manager, which we now want to change. This PR should now remove this bullet point mention. I've also re-ordered the previous 2nd and 3rd bullet points for this quick fix as I thought it odd to start with the advice to store the Secret Recovery Phrase in a safety deposit box. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25985?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#529 ## **Manual testing steps** 1. Onboard to MetaMask 2. Setup a new Secret Recovery Phrase ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="506" alt="image" src="https://github.com/user-attachments/assets/8f90ab55-ad9e-4c78-9646-5df8d06259b2"> ### **After** <img width="491" alt="image" src="https://github.com/user-attachments/assets/511463ac-3d16-4946-873f-a9cbf0ee18c6"> <!-- [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: gantunesr <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7d079ed - Browse repository at this point
Copy the full SHA 7d079edView commit details -
fix: improve performance in large signature request confirmations (#2…
…6209) Optimize token list selectors. Create alternate selectors when the remote token list should always be used.
Configuration menu - View commit details
-
Copy full SHA for 3c11ac3 - Browse repository at this point
Copy the full SHA 3c11ac3View commit details -
feat: updated dapp permission screen (#25703)
when we want to switch network from the Dapp and the network is enabled in metamask but doesn't have permission, then we will show this new permission screen. ## **Related issues** Fixes: [2480](MetaMask/MetaMask-planning#2480) ## **Manual testing steps** 1. Run extension with CHAIN_PERMISSIONS feature flag 2. Connect extension to a dapp on ethereum 3. Go back to extension and add any new network in extension from popular networks list 4. Go back to Dapp, Switch network from ethereum to this newly added network ## **Screenshots/Recordings** ### **Before** NA ### **After** https://github.com/MetaMask/metamask-extension/assets/39872794/35fd0074-7c73-4948-a6da-5d8d09ef4acc ## **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: Alex <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 316e5f0 - Browse repository at this point
Copy the full SHA 316e5f0View commit details -
feat: Support Permit variants: PermitSingle, PermitBatch, PermitTrans…
…ferFrom, PermitBatchTransferFrom, TradeOrder, Seaport (#26107) <!-- 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** **Covered:** - feat: Support Permit variants: PermitSingle, PermitBatch, PermitTransferFrom, PermitBatchTransferFrom - feat: Support Order variants: TradeOrder (Order), Seaport (OrderComponents) **Additionally:** - fix: occurrence when value and token decimal has not loaded yet from hook **Blocker:** I caught a bug in this code. When we use tokenDecimals to display the amount, it might not be for the correct token if it is nested. Need to rework the logic to support nested tokenDecimals **Notes:** - Updated current tests. No test logic changes - Supporting tests in follow-up PR ([Issue](#26134)) - After precision fix is [merged](#25968), test cases here will need to be updated [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26107?quickstart=1) ## **Related issues** Blocked by: #26105 Fixes: MetaMask/MetaMask-planning#2644 (PermitSingle) Fixes: MetaMask/MetaMask-planning#2666 (PermitBatch) Fixes: MetaMask/MetaMask-planning#2701 (PermitTransferFrom) Fixes: MetaMask/MetaMask-planning#2702 (PermitBatchTransferFrom) Fixes: MetaMask/MetaMask-planning#2667 (Order) Fixes: MetaMask/MetaMask-planning#2646 (Seaport OrderComponents) ## **Manual testing steps** See repro steps in related issue tickets above ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** #### PermitSingle <img width="320" src="https://github.com/user-attachments/assets/de31be3b-cff2-4e74-9d08-d5e52ef43d71"> #### PermitBatch <img width="320" src="https://github.com/user-attachments/assets/cc18401b-2bca-487e-ba1a-bf48ed777474"> #### Seaport (OrderComponents) <img width="320" src="https://github.com/user-attachments/assets/25511eec-d1f1-4df1-a3f4-8220bf75d81e"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for cd30d78 - Browse repository at this point
Copy the full SHA cd30d78View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63cf934 - Browse repository at this point
Copy the full SHA 63cf934View commit details -
test: Add manual scenario for network polling scenario (#26195)
## **Description** This PR introduces a new test scenario which relates to a release-blocker for v12.0.0. This scenario is to verify that once the MetaMask UI is closed, the extension stops all network requests, including `etherscan`, `eth_call`, `eth_getBalance`, `eth_blockNumber`, and `eth_getBlockByNumber` to Infura or any other RPC provider. This check is vital for reducing unnecessary network traffic and enhancing both privacy and efficiency within the extension's operation. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26195?quickstart=1) ## **Related issues** Fixes: #25964 Related release blocker: #25951 ## **Manual testing steps** Follow testing steps in this manual scenario ## **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** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Danica Shen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aceea3b - Browse repository at this point
Copy the full SHA aceea3bView commit details -
refactor: replace deprecated mixins with Text component in qr-code-vi…
…ew (#25637) ## **Description** This pull request replaces deprecated mixins @include H1 - @include H9 in the SCSS file with the Text component in the `qr-code-view` component. The changes include updating the SCSS file to remove the deprecated mixins and modifying the JavaScript file to use the Text component with appropriate properties. Devin Run Link : https://preview.devin.ai/devin/8158744e0716415fb64b023769e4ffab [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25637?quickstart=1) ## **Related issues** Partially Fixes: #20496 ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Verify that the QrCodeView component renders correctly without any visual issues 3. Ensure that the Text component is used instead of the deprecated mixins ## **Screenshots/Recordings** ### **Before** ![Before Changes](https://api.devin.ai/attachments/9a8904f8-6bff-4d54-90c8-2b0522e7f345/79852720-e3a7-4bb5-b62a-38679aca0b28.png) ### **After** ![After Changes](https://api.devin.ai/attachments/9a8904f8-6bff-4d54-90c8-2b0522e7f345/79852720-e3a7-4bb5-b62a-38679aca0b28.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/8158744e0716415fb64b023769e4ffab) was requested by Devin. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 649a793 - Browse repository at this point
Copy the full SHA 649a793View commit details -
chore: Create a story for convert-token-to-nft-modal component (#25561)
## **Description** This pull request updates the screenshot for the story on the `devin/story-kgJ` branch of the MetaMask extension repository. The change ensures that the visual output of the story is accurately reflected and up to date. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25561?quickstart=1) ## **Related issues** Fixes: N/A ## **Manual testing steps** 1. Go to the `devin/story-kgJ` branch. 2. Run the story. 3. Verify the screenshot reflects the correct output as shown in the PR. ## **Screenshots/Recordings** ### **Before** <!-- Add any previous screenshots/recordings if available --> ### **After** ![ConvertTokenToNFTModal](https://api.devin.ai/attachments/77bfef20-a071-4261-be3d-d111fc612617/3b760524-ce12-487d-8ac9-8a6f60f3736a.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. [Devin Run](https://preview.devin.ai/devin/2041dc2cae694c76b2c429c376e8f177) This Devin run was requested by Devin. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ab2f3d7 - Browse repository at this point
Copy the full SHA ab2f3d7View commit details -
refactor: replace Typography with Text component in restore-vault.js (#…
…25636) ## **Description** This pull request includes the migration of the `Typography` component to the `Text` component in the `restore-vault.js` file within the MetaMask extension repository. The changes involve replacing all instances of the `Typography` component with the equivalent `Text` component and ensuring that the component APIs are properly migrated. The motivation for this change is to align with the updated design system and improve the consistency of the codebase. Devin Run Link: https://preview.devin.ai/devin/aeebb66ed7a14386ae48164acd4b2e72 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25636?quickstart=1) ## **Related issues** Partially Fixes: #17670 ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Verify that the "RestoreVaultPage" renders correctly with the `Text` component 3. Ensure that the text content and styling are consistent with the design specifications ## **Screenshots/Recordings** ### **Before** ![Before](https://api.devin.ai/attachments/562b4e9e-d827-4133-91c6-f84d903bf68d/f530d045-e0c7-4cc1-b7d7-f6d74a135190.png) ### **After** ![After](https://api.devin.ai/attachments/e1fcf009-9543-4cce-aafd-1cb8593c7a8f/e7b821bb-6c48-45d0-a953-c3dbbd7f5807.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/aeebb66ed7a14386ae48164acd4b2e72) was requested by Devin. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a1ccf1f - Browse repository at this point
Copy the full SHA a1ccf1fView commit details -
## **Description** Updates icons [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26180?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.
Configuration menu - View commit details
-
Copy full SHA for 5194f20 - Browse repository at this point
Copy the full SHA 5194f20View commit details -
chore: Create a story for NftCollectionImage component (#26069)
### **Description** The story for the `NftCollectionImage` component has been created to allow for isolated development and testing of the component's UI. 1. The reason for the change is to provide a Storybook story for the `NftCollectionImage` component. 2. The improvement is the ability to test and develop the `NftCollectionImage` component in isolation. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26069?quickstart=1) ### **Related Issues** Fixes: N/A ### **Manual Testing Steps** 1. Go to the latest build of Storybook in this PR. 2. Navigate to the `NftCollectionImage` component in the `Components/` folder. ### **Screenshots/Recordings** #### **Before** <!-- Add any previous screenshots/recordings if available --> #### **After** ![Default Story](https://api.devin.ai/attachments/0c29d7a4-a0aa-4583-9d68-615b89da7c87/2f9ac95d-b3e1-4ae7-85ea-0dbb7801bd79.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. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7a1191b - Browse repository at this point
Copy the full SHA 7a1191bView commit details -
fix: flaky test `Sentry errors before initialization, after opting in…
…to metrics @no-mmi should send error events in background` (#26216) [The test is flaky](https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94004/workflows/25f428d4-8fcb-4aca-8ddb-49edb51b57cf/jobs/3499122/tests) as sometimes we get a different error in the mocked endpoint, `Error: Could not establish connection. Receiving end does not exist`, instead of the expected one. This is because the condition for entering into the mock is not strict enough, and both errors include `value":"Cannot read properties of undefined (reading 'version')` in their body. The solution here is: - make the condition mock more strict, to make sure we capture the error we want (not the `receiving end` one) - verify that this specific request is mocked - no need to assert on the json body as we already have this in the mock condition, however we leave it for debugging purposes. The change that has been made, is to assert the complete error all in once, so we get a more meaningful assertion and failure (if that's the case) --------- Co-authored-by: Mark Stacey <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a26c725 - Browse repository at this point
Copy the full SHA a26c725View commit details -
chore: update @metamask/bitcoin-wallet-snap to 0.4.0 (#26229)
## **Description** Bump the BTC Snap to version 0.4.0. - This new release adds the account name suggestion during account creation, which allows us to use the new Snap account creation flow. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25808?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** N/A ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for ef812e1 - Browse repository at this point
Copy the full SHA ef812e1View commit details -
New Crowdin translations by Github Action (#26230)
Co-authored-by: metamaskbot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f2ebfe5 - Browse repository at this point
Copy the full SHA f2ebfe5View commit details -
chore: Create a story for GasTiming component (#25557)
## **Description** This pull request adds a Storybook story for the `GasTiming` component in the MetaMask extension. The reason for this change is to enable isolated testing and visualization of the `GasTiming` component within Storybook. The improvement/solution provided by this change is the ability to interact with and test the `GasTiming` component in isolation, ensuring it renders correctly and behaves as expected. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25557?quickstart=1) ## **Related issues** Fixes: N/A ## **Manual testing steps** 1. Go to the latest build of Storybook in this PR. 2. Navigate to the `GasTiming` component in the `Components/` folder. ## **Screenshots/Recordings** ![Screenshot 2024-07-26 at 4 29 06 PM](https://github.com/user-attachments/assets/a4cdf323-0ebb-4dd2-a28f-0319fe653b9d) ## **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/341a342e86f54dbcaa8c0c117bc36b2f) was requested by Devin. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Garrett Bear <[email protected]> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 81476bb - Browse repository at this point
Copy the full SHA 81476bbView commit details -
chore: Create a story for PageContainerHeader component (#26031)
## **Description** This PR introduces the Storybook story for the `PageContainerHeader` component. It enables isolated development and testing of this UI component, allowing for visualization and interaction with the `PageContainerHeader` in various states to ensure its robustness and responsiveness. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25600?quickstart=1) ## **Related issues** - None ## **Manual testing steps** 1. Go to the latest build of Storybook in this PR. 2. Navigate to the `PageContainerHeader` component in the `Components` folder. 3. Verify that the Storybook entry for this component is functioning correctly and displays as expected in various states. ## **Screenshots/Recordings** <img width="1509" alt="Screenshot 2024-07-30 at 1 29 03 PM" src="https://github.com/user-attachments/assets/6eb7157f-38c4-4a05-b3f0-ec838e08c269"> ## **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)). ## **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 or screenshots. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d4f018a - Browse repository at this point
Copy the full SHA d4f018aView commit details -
chore: Pass along hashed
rpcUrl
duringCustomNetworkAdded
event (#……26203) ## **Description** Pass along hashed `rpcUrl` when added as a custom network. We are hashing the rpcUrl for privacy reasons, so that no custom `rpcUrls` get leaked. For instance, this would be important for those running their own ETH nodes. When leveraging this new value, analytics should also hash `rpcUrls` of common rpc's on chainlist, then compare the hashes. Note that I opted _not_ to use the `URL` constructor, since it will enforce trailing `/` on base urls when I am noticing that most urls on `chainlist` do not have this: https://chainlist.org/chain/1 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26203?quickstart=1) ## **Related issues** Fixes: MMASSETS-298 mobile PR also needs to be added. ## **Manual testing steps** Add CustomNetwork and ensure that the proper payload is sent in the network tab when `CustomNetworkAdded` event fires off. ## **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. --------- Co-authored-by: Brian Bergeron <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5bf8aa7 - Browse repository at this point
Copy the full SHA 5bf8aa7View commit details
Commits on Jul 31, 2024
-
test: header integration test for contract interaction (#25981)
<!-- 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/25981?quickstart=1) ## **Related issues** Fixes: [#23948](#23948) ## **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.
Configuration menu - View commit details
-
Copy full SHA for e6955d7 - Browse repository at this point
Copy the full SHA e6955d7View commit details -
test: [Page Object Model] rename process to flow (#26228)
## **Description** Following the previous discussions on adopting best practices for the Page Object Model (POM) within our e2e testing framework, I've made some updates to reflect the merged best practices[ in contributor-docs](https://github.com/MetaMask/contributor-docs/blob/main/docs/e2e/extension-e2e-guidelines.md#best-practices). The key change is to replace the term "processes" with "flows" to more accurately and intuitively describe sequences of user interactions. Additionally, this PR corrects a typo in the function name `loginWithBalanceValidation`. Reason for Replacing "Process" with "Flow": The term "flows" more effectively captures the sequences of user interactions we're automating in our e2e tests. By making this change, we aim to reduce confusion and enhance clarity, thereby making our test codebase more intuitive for future adoption of page object model. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26228?quickstart=1) ## **Related issues** Fixes: #24986 ## **Manual testing steps** 1. E2E tests should pass in pipeline ## **Screenshots/Recordings** ### **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.
Configuration menu - View commit details
-
Copy full SHA for 6e29b88 - Browse repository at this point
Copy the full SHA 6e29b88View commit details -
Remove all dynamic `autoSessionTracking` enablement. Add a custom Sentry transport to prevent any requests reaching Sentry if metrics are disabled. Only consider metrics enabled when preference is set and onboarding is complete. Enable Sentry if `METAMASK_ENVIRONMENT` is not `production` and `SENTRY_DSN_DEV` is specified. Remove the arguments to the `setupSentry` function. Flatten all the functions within `setupSentry.js`. Log all Sentry messages via the `debug` package based on the `DEBUG` environment variable. Add additional log messages for easier debug. Add mock `SENTRY_DSN_DEV` to Flask and MMI test builds. Remove duplication in package scripts.
Configuration menu - View commit details
-
Copy full SHA for ef05a5f - Browse repository at this point
Copy the full SHA ef05a5fView commit details -
fix: flaky test
Import flow @no-mmi Import Account using json file
(#……26240) <!-- 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** There is a race condition with the import account test, where we import an account and then call the `locateAccountBalanceDOM`. The problem is that this function will try to find the balance for the `account[0]` for the ganache default accounts, which is `25 ETH`, however the newly imported account has balance `0 ETH`. If the imported account flow is fast, the element `25 ETH` won't be present when we try to find it, making the test fail with the error: ``` TimeoutError: Waiting for element to be located By(xpath, .//*[./@data-testid = 'eth-overview__primary-currency'][(contains(string(.), '25 ETH') or contains(string(.), '25ETH'))]) ``` The underlying problem is that we are looking for the wrong balance, as the imported account has 0 ETH. The fix is to modify the `locateAccountBalanceDOM` to be able to pass an account as an optional argument, and then look for the balance for that account if it's passed. https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94268/workflows/ef29c459-de15-4bc6-bef9-83b62611179d/jobs/3508512/parallel-runs/18 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26240?quickstart=1) ## **Related issues** Fixes: #26241 ## **Manual testing steps** 1. Check ci ## **Screenshots/Recordings** See how in the failing artifact, we have the imported account with balance 0, and it cannot locate the 25ETH element. ![image](https://github.com/user-attachments/assets/e60b9c01-eac8-445b-8c64-80b6fc3c0fc5) See how if we add a delay, the test will always fails, as it looks for 25ETH which have already disappeared from the DOM. https://github.com/user-attachments/assets/60294ed3-d760-4139-9fad-7080eb776dc3 ## **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: Danica Shen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 44ecc0f - Browse repository at this point
Copy the full SHA 44ecc0fView commit details -
fix: add extra condition to prevent erroneous calls to fetch insight (#…
…26248) ## **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? Sentry was showing `undefined` parameters for a signature insight call, it was found that this was reproducible when a signature request was rejected. 2. What is the improvement/solution? Added an extra condition to prevent unnecessary calls to `fetchInsight` in the `useSignatureInsights` hook. ## **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.
Configuration menu - View commit details
-
Copy full SHA for ee8009f - Browse repository at this point
Copy the full SHA ee8009fView commit details -
fix: Fix CircleCI
create_release_pull_request
job (#26246)## **Description** The `create_release_pull_request` job has been failing since we switched to using a shallow checkout by default. It's failing because the first step of this job uses the `yarn version` command, which expects a full repository history for some reason. The script works again with a full checkout. Example failure: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94314/workflows/e2b01944-7607-4714-9cac-01489cce3d2e/jobs/3510394 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26246?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** I was able to reproduce the failure by running the shallow checkout steps locally, then running the `release-bump-manifest-version.sh` script. I tested that this worked by doing the same thing with a full checkout. Note that you need to set the `CI, `CIRCLECI`, and `CIRCLECI_BRANCH` environment variables for the script to work. ## **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.
Configuration menu - View commit details
-
Copy full SHA for 07f6134 - Browse repository at this point
Copy the full SHA 07f6134View commit details -
chore: refactoring onboarding to remove deprecated components (#26207)
<!-- 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 pull request aims to remove the deprecated `Box` and `Button` components from the onboarding metametrics screen and replace them with their counterparts from the design system-aligned component library. The primary motivation for this change is to ensure consistency across the application by using standardized components, which will improve maintainability and reduce the risk of design discrepancies. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26207?quickstart=1) ## **Related issues** Fixes: [#issue-number] ## **Manual testing steps** 1. Navigate to the onboarding metametrics screen in the storybook build of this PR. 2. Verify that the UI elements look consistent with the design system guidelines. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="757" alt="Screenshot 2024-07-29 at 3 29 27 PM" src="https://github.com/user-attachments/assets/f216b6f2-2268-49e7-8f4d-610f8263c150"> <img width="949" alt="Screenshot 2024-07-29 at 3 59 40 PM" src="https://github.com/user-attachments/assets/c42c7500-5a32-4164-8fbf-67848a873ee6"> ### **After** <img width="756" alt="Screenshot 2024-07-29 at 3 30 02 PM" src="https://github.com/user-attachments/assets/53d6fd5a-aa7d-4d03-b71d-d77315e67ed2"> <img width="980" alt="Screenshot 2024-07-29 at 3 59 01 PM" src="https://github.com/user-attachments/assets/b818a73c-2bfc-4e19-90f0-153e6531d79c"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for 1cc67ee - Browse repository at this point
Copy the full SHA 1cc67eeView commit details -
chore: Create a story for TokenCurrencyDisplay component (#26172)
Copy pasta of #25278 ## **Description** This PR introduces a Storybook story for the TokenCurrencyDisplay component to facilitate isolated UI testing and development. ## **Related issues** N/A ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Navigate to the TokenCurrencyDisplay component in the Components/UI folder. ## **Screenshots/Recordings** <img width="1650" alt="Screenshot 2024-06-12 at 2 22 56 AM" src="https://github.com/Devin-Applications/metamask-extension-devin/assets/168687171/90985da3-80bc-4865-be6a-bd3d2a4ad340"> ## **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. [Devin Run](https://preview.devin.ai/devin/2160d3493b21468dbb83691ab5fefe84)
Configuration menu - View commit details
-
Copy full SHA for 85c5710 - Browse repository at this point
Copy the full SHA 85c5710View commit details -
fix: Fix
create_release_pull_request
OOM error (#26249)## **Description** The `create_release_pull_request` job is failing due to a lack of memory during the `yarn version` step. The `yarn version` command appears to install Yarn dependencies over again. The job where we install Yarn dependencies uses a "medium" size execution environment because we encountered similar memory issues there, but the `create_release_pull_request` job is still using small. It has been updated to use a medium execution environment, which should be enough memory given that it's what `prep-deps` uses. Example failure: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94391/workflows/4fce2a9e-2762-4c07-8617-317b0781dd27/jobs/3513290 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26249?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** We should be able to reproduce this by running the job in a Docker image. But I have not tried this. Probably easier to merge it and see if it works in this case. ## **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.
Configuration menu - View commit details
-
Copy full SHA for 2beba47 - Browse repository at this point
Copy the full SHA 2beba47View commit details -
fix: handle send transaction API errors (#26253)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** We are seeing a pair of sentry errors for a failing deconstruction error, `Cannot destructure property 'id' of '(intermediate value)' as it is null`: - https://metamask.sentry.io/issues/5093909594/?project=273505&query=is%3Aunresolved+Cannot+destructure+property+%27id%27+of&referrer=issue-stream&statsPeriod=14d&stream_index=0 - https://metamask.sentry.io/issues/5093909594/?project=273505&query=is%3Aunresolved+Cannot+destructure+property+%27id%27+of&referrer=issue-stream&statsPeriod=14d&stream_index=0 This is because instead of returning an error when a transaction fails, we return `null` for the metadata. This PR addresses the underlying issue by rethrowing the error for a failed transaction request, then adding UI treatments for the failed transaction. <!-- 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/26253?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Add an `Error` right before the `sendTransaction` background method in `addTransactionAndRouteToConfirmationPage` 2. Go to the send flow 3. Attempt a basic send 4. Ensure that ` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/user-attachments/assets/0342e322-4348-47bd-8bfc-3f92db8f1001 <!-- [screenshots/recordings] --> ### **After** https://github.com/user-attachments/assets/32ba3e75-f266-48c0-abfa-3816c4d3abd5 <!-- [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.
Configuration menu - View commit details
-
Copy full SHA for e00863e - Browse repository at this point
Copy the full SHA e00863eView commit details
Commits on Aug 1, 2024
-
fix: add migration to remove any dangling instances of `perDomainNetw…
…ork` on `SelectedNetworkController` state (#26265) ## **Description** We are seeing [an error in sentry ](https://metamask.sentry.io/issues/5104456486/?environment=production&project=273505&query=firstRelease%3A12.0.0&referrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=15) which indicates that in some users' wallets, the `perDomainNetwork` property that previously existed in the `SelectedNetworkController` state was not removed. It is still unclear how this property was not removed by [this migration](https://github.com/MetaMask/metamask-extension/pull/23277/files#diff-2b2686de3b5b64a4a146202844af853e16284cc5e2e752cf8670b89a1d09614fR60) in all cases. One theory from @Gudahtt: >I guess it's possible that this was caused by a write failure. e.g. what if the migration was run, and data failed to persist but meta succeeded. I am unsure if that is possible in practice, but we saw some other mysterious errors that might have a similar explanation. In any case the dangling property results in failures to persist state to storage because of an unexpected property. These failures to update state both cause the wallet to malfunction and could cause state corruption. This PR adds a migration to attempt again to remove this piece of state and reset the `SelectedNetworkControllers` `domains` state since it may have become corrupted in the meantime. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26265?quickstart=1) ## **Related issues** Fixes: https://metamask.sentry.io/issues/5104456486/?environment=production&project=273505&query=firstRelease%3A12.0.0&referrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=15 ## **Manual testing steps** n/a ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask 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.
Configuration menu - View commit details
-
Copy full SHA for 15e1045 - Browse repository at this point
Copy the full SHA 15e1045View commit details -
Configuration menu - View commit details
-
Copy full SHA for 709a7c6 - Browse repository at this point
Copy the full SHA 709a7c6View commit details -
refactor: replace deprecated mixins with text component in transactio…
…n-confirmed (#25551) ## **Description** This pull request replaces deprecated mixins with the Text component in the `transaction-confirmed.component.js` file. The padding values in the Text components have been updated to 4. Devin Run Link: https://staging.itsdev.in/devin/0bf228de1dc64981adb90e7ac712d1e7 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25551?quickstart=1) ## **Related issues** Partially Fixes: #20496 ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Manually check if `TransactionConfirmed` is getting rendered correctly ## **Screenshots/Recordings** ### **Before** ![](https://api.devin.ai/attachments/8e7c9a3e-1b46-4835-8539-0f17be6f72cf/before_changes_transaction-confirmed.png) ### **After** ![](https://api.devin.ai/attachments/8e7c9a3e-1b46-4835-8539-0f17be6f72cf/after_changes_transaction-confirmed.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** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 728b0e4 - Browse repository at this point
Copy the full SHA 728b0e4View commit details -
feat(btc): use new snap account flow for Bitcoin accounts (#26183)
## **Description** This removes the old flow of creating Bitcoin accounts in favor of the new generic Snap account creation flow (that includes account renaming). This PR does require the Bitcoin Snap to emit the suggested names, otherwise name accounts will be named as follow: `Snap Account N` (where `N` is the number of created Snap accounts + 1). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26183?quickstart=1) ## **Related issues** Relates to: - MetaMask/snap-bitcoin-wallet#210 Fixes: - MetaMask/accounts-planning#530 ## **Manual testing steps** > [!NOTE] > Since we have updated the Bitcoin Snap version to `0.4.0`, you no longer need to manually install the Snap, it's being prebundled with the right version that supports account name suggestion 1. Create a Bitcoin account (should be named "Bitcoin Account" by default) 2. Create a Bitcoin testnet account (should be named "Bitcoin Testnet Account" by default) ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** https://github.com/user-attachments/assets/5753ab25-ceb0-441b-a750-3c028a9dc9d8 ## **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.
Configuration menu - View commit details
-
Copy full SHA for ed28508 - Browse repository at this point
Copy the full SHA ed28508View commit details -
fix(multichain): fix showFiat option for test assets (#26224)
## **Description** Since the introduction of the new Bitcoin accounts in the account-list-menu, we introduced a regression regarding the "Show conversion in testnets" flag (for both Bitcoin and Ethereum accounts). This PR fixes that. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26224?quickstart=1) ## **Related issues** Fixes: - MetaMask/accounts-planning#545 ## **Manual testing steps** 1. `yarn start:flask` 2. Enable Bitcoin support (Settings > Experimental > Enable "Add a new Bitcoin*" flags 3. Creates mainnet + testnet Bitcoin accounts 4. Check that the "Show conversion in tesnets" flag is off 5. Open the account menu list (click the header top bar, on the currently selected account) 6. You should not see any USD prices except for mainnet accounts (you must be on a mainnet EVM networks to see that for your EVM account) 7. Enables "Show conversion in tesnets" flag 8. Repeat step 5 9. You should now see USD prices also for testnet accounts/test assets ## **Screenshots/Recordings** ### **Before** ![SCR-20240730-mjje](https://github.com/user-attachments/assets/17b44944-44c8-4480-ae37-5c1236b17a81) ![SCR-20240730-mjme](https://github.com/user-attachments/assets/4cadb111-064c-46d8-b961-5623e2f509a6) ### **After** ![SCR-20240730-mnlq](https://github.com/user-attachments/assets/32ca75a5-0525-40be-90fe-d05fd83033c3) ## **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: Daniel Rocha <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f3383ac - Browse repository at this point
Copy the full SHA f3383acView commit details -
fix: 🐛 use a counter to show if there are pending transactions (#26116)
## **Description** This PR modifies the content of the badge for pending transactions. Before this PR, the blue badge showed three dots; now it shows a number again. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26116?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** <img width="140" alt="Screenshot 2024-07-25 at 10 16 28" src="https://github.com/user-attachments/assets/39dd4c13-922b-4180-9a82-97dfff5a66d7"> ## **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. --------- Co-authored-by: Prithpal Sooriya <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 82ad9c1 - Browse repository at this point
Copy the full SHA 82ad9c1View commit details -
fix: Fix GitHub release description (#26247)
## **Description** For years our release scripts have been creating GitHub releases with empty descriptions. GitHub uses the commit message as the description as a default, which is always a merge commit in our case, whcih isn't very decsriptive. The release scripts are supposed to be setting the changelog entries for the current release as the description. This broke when we last changed our CHANGELOG.md format. Specifically it was the release header change that broke this. We started surrounding the version number in square brackets, which the awk script did not expect. The script that creates the GitHub release has been updated to pass in a version surrounded by square brackets to the awk script, so it is again able to find the relevant changelog entries. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26247?quickstart=1) ## **Related issues** Fixes: #18468 ## **Manual testing steps** Start by checking out `master. Then look at the `release-create-gh-release.sh` script, and run the exact same awk command that is shown there. Replace `${tag##v}` with the release version minus the v (e.g. `12.0.0`). Before this PR it was `awk -v version="12.0.0" -f .circleci/scripts/show-changelog.awk CHANGELOG.md`. This produces no output. After this PR, its `awk -v version="[12.0.0]" -f .circleci/scripts/show-changelog.awk CHANGELOG.md`. This produces the correct output. ## **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.
Configuration menu - View commit details
-
Copy full SHA for c23a62b - Browse repository at this point
Copy the full SHA c23a62bView commit details -
feat: QR-based add NGRAVE ZERO Hardware (#25080)
<!-- 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** Hello, This PR changes the UI and text to add the NGRAVE ZERO hardware wallet. Our upcoming release planned for the beginning of July will add QR code compatibility with MetaMask following EIP-4527. <!-- 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/25080?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/accounts-planning/issues/536 ## **Manual testing steps** 1. On the hardware wallet, open the 'sync' screen and choose MetaMask 2. Add a QR based wallet on MetaMask (notice that NGRAVE is not 'coming soon' anymore, but listed as a normal option) 3. Scan the QR code from the hardware wallet. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** ![image](https://github.com/MetaMask/metamask-extension/assets/26218337/d67c6182-dd8a-4d57-87df-c2b0ad4a344f) <!-- [screenshots/recordings] --> ### **After** ![image](https://github.com/MetaMask/metamask-extension/assets/26218337/088862de-0b21-448e-ba5a-c31610a9d14f) <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] 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: caiquecruz <[email protected]> Co-authored-by: Caíque Cruz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 34dc082 - Browse repository at this point
Copy the full SHA 34dc082View commit details -
chore: Update
actions/cache
from v3 to v4 (#26020)## **Description** This resolves this warning, which was shown on all runs of both affected workflows: >The following actions uses Node.js version which is deprecated and will be forced to run on node20: actions/cache/save@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ Example: https://github.com/MetaMask/metamask-extension/actions/runs/10046473531 The only breaking change is that Node.js v20 is now the default runtime. See https://github.com/actions/cache/releases/tag/v4.0.0 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26020?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** No way to test until after merging. After merging, we can check that the affected workflows still work correctly, and that they no longer contain the quoted error. ## **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.
Configuration menu - View commit details
-
Copy full SHA for 3dec722 - Browse repository at this point
Copy the full SHA 3dec722View commit details -
fix: remove submitRequest from dapp permission (#26276)
<!-- 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 updates the e2e testing for user operations to use the latest snap and removes the `submitRequest` permission from dapps. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26276?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#554 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [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.
Configuration menu - View commit details
-
Copy full SHA for 3f09c80 - Browse repository at this point
Copy the full SHA 3f09c80View commit details -
fix: Account for persistence flag when setting initial state in `Comp…
…osableObservableStore` (#26280) ## **Description** Fixes a bug where `ComposableObservableStore` would allow non-persistent state properties in its `initialState`. This in turn would cause state properties flagged as non-persistent to be persisted until a controller state change. This PR addresses this by taking the `persist` flag into account when deriving the initial state for each controller. If the controller does not support `metadata` or persistence is disabled, everything should continue to work as-is. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26280?quickstart=1)
Configuration menu - View commit details
-
Copy full SHA for fcf474c - Browse repository at this point
Copy the full SHA fcf474cView commit details -
chore: Fully remove
eth_sign
(#24756)## Explanation Months ago, because of phishing risk, we disabled the `eth_sign` API method by default (users could manually enable it with a preference toggle). Now because of additional risk associated with [potentially malicious EIP-3074 invokers](https://ethereum-magicians.org/t/eip-3074-is-unsafe-unnecessary-puts-user-funds-at-risk-while-fragmenting-ux-liquidity-and-the-wallet-stack/19662) we are fully removing support for this method. This PR introduces the changes to `@metamask/signature-controller` and `@metamask/preferences-controller` from MetaMask/core#4319 which remove `eth_sign` related infrastructure. Additionally it removes all instances of `eth_sign` components and references from the extension codebase. ## References * Fixes MetaMask/MetaMask-planning#2371 ## **Manual testing steps** 1. Go to the [e2e test dapp](https://metamask.github.io/test-dapp/) 2. Connect the wallet 3. Scroll down to the `Eth Sign` card (https://metamask.github.io/test-dapp/#ethSign) 4. Click `Sign` 5. You should see `Error: The method "eth_sign" does not exist / is not available.` ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 757b699 - Browse repository at this point
Copy the full SHA 757b699View commit details -
test: fix flaky test Import flow @no-mmi Import wallet using Secret R…
…ecovery Phrase (#26275) ## **Description** This pull request addresses the flaky test: Import flow @no-mmi Import wallet using Secret Recovery Phrase CI failure: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94292/workflows/550cb2c0-09db-40ef-9478-c951793146b4/jobs/3509303/parallel-runs/4 Reason of flakiness is a race condition happens after switching from account 2 to account 1 and immediately starts send flow. Changes made is to include a step to wait and verify the account balance is loaded before starting the send flow. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26275?quickstart=1) ## **Related issues** Fixes: #26274 ## **Manual testing steps** Check ci (test is re-run 5 times) ## **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** - [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.
Configuration menu - View commit details
-
Copy full SHA for 0e66b29 - Browse repository at this point
Copy the full SHA 0e66b29View commit details -
refactor: ENABLE_MV3 flag cleanup (#26059)
The way that the `ENABLE_MV3` flag was processed was kind of a mess. Sometimes it wasn't checking both options of `'true'` and `undefined`, sometimes it was only checking `browser.runtime.getManifest().manifest_version`, and it was always loquacious. This PR centralizes it and defines it as: ``` const runtimeManifest = global.chrome?.runtime.getManifest() || global.browser?.runtime.getManifest(); const isManifestV3 = runtimeManifest ? runtimeManifest.manifest_version === 3 : process.env.ENABLE_MV3 === 'true' || // Tests on Node.js processes process.env.ENABLE_MV3 === undefined; ``` --------- Co-authored-by: legobt <[email protected]> Co-authored-by: legobeat <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 80ac1b2 - Browse repository at this point
Copy the full SHA 80ac1b2View commit details -
fix: Remove dangling
snapErrors
state property (#26282)## **Description** Adds a line to the `120.2` migration to also remove a dangling state property in the `SnapController`, that is causing sentry errors. This property is likely dangling due to #26280 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26282?quickstart=1) ## **Related issues** Fixes: #26281
Configuration menu - View commit details
-
Copy full SHA for d157a36 - Browse repository at this point
Copy the full SHA d157a36View commit details -
fix(26065): remove persisted state mostRecentRetrievedState after ini…
…tialization if no errors (#26206) <!-- 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** A copy of persisted state gets stored in-memory here: https://github.com/MetaMask/metamask-extension/blob/ef38d626ccbf39cb98199b0af48731a2d19e4f28/app/scripts/lib/local-store.js#L73 This property is used to get a diagnostic state snapshot if an error happens after initialization. We don't use this post-initialization, and we should remove it once we have completed initialization. The `localStore` is used twice during initialization, which is from background initialization and sentry background, hence we expose a method within `Localstore` as `cleanUpMostRecentRetrievedState` to remove persisted `mostRecentRetrievedState` if the initialization is a success <!-- 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/26206?quickstart=1) ## **Related issues** Fixes: #26065 ## **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.
Configuration menu - View commit details
-
Copy full SHA for b1327e9 - Browse repository at this point
Copy the full SHA b1327e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 883fd75 - Browse repository at this point
Copy the full SHA 883fd75View commit details -
fix: Revert "fix: remove submitRequest from dapp permission" (#26293)
Reverts #26276. This PR was found to cause CI failures on `develop`. Example: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94617/workflows/2a0b7600-ce3b-4558-ba16-4eff4e60ff3f/jobs/3524142
Configuration menu - View commit details
-
Copy full SHA for f05aba0 - Browse repository at this point
Copy the full SHA f05aba0View commit details -
fix: Truncate extremely long transaction histories (#26291)
## **Description** Transaction histories over 100 entries long have been truncated to 100 entries. Transaction histories are not expected to be that large in normal circumstances, but we have found cases of users with transactions stuck in error loops that result in extremely long histories, causing significant performance issues and crashes. This is a partial solution to that problem. We still need to prevent history from growing again. This is accomplished in `@metamask/[email protected]`, but that update will be included in a later PR because there are some other updates blocking it. This migration is added first to make it easier to cherry-pick into v12.0.1. The migration has been set as number 120.3 because we want to cherry- pick it into v12.0.1, and using this number avoids needing to re-order migrations. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26291?quickstart=1) ## **Related issues** Relates to #9372 ## **Manual testing steps** * Checkout v11.15.6 and create a dev build (unfortunately the repro steps don't work on MV3 due to snow being enabled even in dev builds, so we're using a pre-MV3 build) * Install the dev build from the `dist/chrome` directory and proceed through onboarding * Make a single transaction * Any chain, any transaction, as long as it's approved. We don't even need to wait for it to settle. * Run this command in the background console to add a huge history to the transaction controller and restart the extension: ``` chrome.storage.local.get( null, (state) => { state.data.TransactionController.transactions[0].history.push( ...[...Array(100000).keys()].map(() => [ { value: '[ethjs-rpc] rpc error with payload {"id":[number],"jsonrpc":"2.0","params":["0x"],"method":"eth_getTransactionReceipt"} { "code": -32603, "message": "Internal JSON-RPC error.", "data": { "code": -32602, "message": "invalid argument 0: hex string has length 0, want 64 for common.Hash", "cause": null }, "stack": ...', path: '/warning/error', op: 'replace' }, { note: 'transactions/pending-tx-tracker#event: tx:warning', value: 'There was a problem loading this transaction.', path: '/warning/message', op: 'replace' }, ]), ); chrome.storage.local.set(state, () => window.location.reload()); } ); ``` * The extension should become extremely slow * Disable the extension * Switch to this branch and create a dev build * Enable and reload the extension * The extension should no longer be slow ## **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.
Configuration menu - View commit details
-
Copy full SHA for be24e25 - Browse repository at this point
Copy the full SHA be24e25View commit details -
fix: add guard for draft tx in send validation (#26295)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** We have discovered a sentry error for the swaps flow in extension: https://metamask.sentry.io/issues/5659965775/?environment=production&project=273505&query=firstRelease%3A12.0.0&referrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=17 This error is due to the `draftTransaction` not being defined during validation; this is resolved with an undefined guard. This error appears in other actions; it is resolved in these cases as well. <!-- 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/26295?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Set `state.draftTransactions[state.currentTransactionUUID]` to `undefined` in `ducks/send/send.js` for all selectors 2. Go to send flow 3. Ensure it loads without error ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/user-attachments/assets/fc79f296-5a13-4b84-bb1c-d1ed8613dcad <!-- [screenshots/recordings] --> ### **After** https://github.com/user-attachments/assets/8e45be4a-eaef-4ed5-b206-a56daf4b2927 <!-- [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.
Configuration menu - View commit details
-
Copy full SHA for 20dd2d0 - Browse repository at this point
Copy the full SHA 20dd2d0View commit details
Commits on Aug 2, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 40150cd - Browse repository at this point
Copy the full SHA 40150cdView commit details -
fix: remove the ability to send to btc accounts in send page (#26271)
<!-- 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 removes BTC accounts from the account picker and `Your Accounts` list in the send flow. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26271?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#546 ## **Manual testing steps** 1. Create btc account 2. Select an evm account 3. Click send 4. See that the BTC account is not available in `Your Accounts` 5. Click the account picker and see that the BTC account is not available. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ![Screenshot 2024-08-01 at 15 01 15](https://github.com/user-attachments/assets/42ab54eb-f97f-46d4-9179-8bc7d6a84fe1) ![Screenshot 2024-08-01 at 15 01 18](https://github.com/user-attachments/assets/e74b0d1a-3192-4831-a3cd-ccefe3e0c74f) ### **After** <!-- [screenshots/recordings] --> ![Screenshot 2024-08-01 at 14 58 39](https://github.com/user-attachments/assets/ba4b3136-766c-4222-afe4-ecbc455cb37c) ![Screenshot 2024-08-01 at 14 58 43](https://github.com/user-attachments/assets/6d9bef5b-68a9-4eee-9a11-672788855000) ## **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: Charly Chevalier <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fbd1ea1 - Browse repository at this point
Copy the full SHA fbd1ea1View commit details -
refactor: Refactor migration 120.2 to prepare for additions (#26298)
## **Description** Migration 120.2 has been refactored to prepare for the addition of further obsolete state cleanup steps. A few minor functional changes and test changes have been made as well. The changes are: * The migration has been refactored to group together changes for each controller in separate functions. * The `SelectedNetworkController` migration has been updated to delete state rather than set it to default. This is functionally equivalent (for this controller) and it simplified the migration and tests a bit, avoiding the need to verify that the default state was correct. * When the `SnapController` state is invalid, we now capture a Sentry exception * A test has been added for this case as well * JSDoc comments have been added to the migration * Tests have been grouped together by controller * Tests have been added to ensure corrupted controller state does not impact the obsolete state removal steps of other controllers * Effectively each obsolete state removal function is acting as an independent migration here * A test was added for the case where `SnapController` state is not set * The tests have been updated to deep clone the input to guard against the migration failing to do so * The `transformState` function was given an explicit return type, and the unused return value was removed. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26298?quickstart=1) ## **Related issues** Relates to #26297 ## **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.
Configuration menu - View commit details
-
Copy full SHA for b22e018 - Browse repository at this point
Copy the full SHA b22e018View commit details -
feat: Update Redesign Signature Permit to show ellipsis at max 15 dig…
…its (#26227) <!-- 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/26227?quickstart=1) ## **Related issues** Fixes: #26226 Fixes: MetaMask/MetaMask-planning#2730 (older, original issue) ## **Manual testing steps** 1. Go to cowswap 2. Swap a token with gas-free approve for another token 3. Notice the permit signature screen or 1. run `yarn storybook` 2. go to http://localhost:6006/?path=/story/pages-confirmations-confirm-signatures-signedtypeddatav3orv4--permit-story&args=msgParams.data:3.0001231231212312e+22 3. copy and paste the following into data ``` "{\"types\":{\"EIP712Domain\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"version\",\"type\":\"string\"},{\"name\":\"chainId\",\"type\":\"uint256\"},{\"name\":\"verifyingContract\",\"type\":\"address\"}],\"Permit\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\"}]},\"primaryType\":\"Permit\",\"domain\":{\"name\":\"MyToken\",\"version\":\"1\",\"verifyingContract\":\"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\"chainId\":1},\"message\":{\"owner\":\"0x935e73edb9ff52e23bac7f7e043a1ecd06d05477\",\"spender\":\"0x5B38Da6a701c568545dCfcB03FcB875f56beddC4\",\"value\":30001231231212312138768,\"nonce\":0,\"deadline\":50000000000}}" ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <img width="520" src="https://github.com/user-attachments/assets/1b6e45cb-f54b-45e5-968c-141359de7466"> <img width="320" src="https://github.com/user-attachments/assets/804d4e8a-1c47-470e-88a4-c6195c5cf96e"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for f001d60 - Browse repository at this point
Copy the full SHA f001d60View commit details -
fix: Remove obsolete NetworkController state (#26302)
## **Description** Migration 120.2 has been updated to remove obsolete NetworkController state as well. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26302?quickstart=1) ## **Related issues** Fixes #26297 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 69e57d8 - Browse repository at this point
Copy the full SHA 69e57d8View commit details -
fix: Remove obsolete PhishingController state (#26308)
## **Description** Sentry reports showed cases of obsolete state in the PhishingController state. This obsolete state has been removed. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26308?quickstart=1) ## **Related issues** Fixes #26307 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 5b56034 - Browse repository at this point
Copy the full SHA 5b56034View commit details -
fix: get permit and order signatures token decimals (#26292)
<!-- 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 if clause to fetch token decimals for permit and order signatures. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26292?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.
Configuration menu - View commit details
-
Copy full SHA for 2a39edf - Browse repository at this point
Copy the full SHA 2a39edfView commit details -
fix: undefined market data selector (#26264)
## **Description** Fixes an issue when `Show balance and token price checker` is turned off in settings, certain actions like sending, importing, or swapping a token crash metamask. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26264?quickstart=1) ## **Related issues** Fixes: #26243 ## **Manual testing steps** 1. Go into settings > security and privacy 2. Turn off `Show balance and token price checker` 3. Switch chains 4. Click import tokens on the tokens tab. Modal should popup without error 5. Click swap and enter tokens + amount. Swap rate should fetch successfully. ## **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.
Configuration menu - View commit details
-
Copy full SHA for c670085 - Browse repository at this point
Copy the full SHA c670085View commit details -
fix: issue where
setNetworkClientIdForDomain
was called without che……cking whether the origin was eligible for setting its own network (#26323) ## **Description** This PR fixes a issue where `setNetworkClientIdForDomain` was frequently called with origins that had no account permissions yet (which is the thresshold we currently set for giving site's their own network) resulting in [a large number of silent errors in the background that are clogging up sentry](https://metamask.sentry.io/issues/5659582204/?environment=production&project=273505&qu%5B%E2%80%A6%5Derrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=1). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26323?quickstart=1) ## **Related issues** Fixes: https://metamask.sentry.io/issues/5659582204/?environment=production&project=273505&qu%5B%E2%80%A6%5Derrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=1 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** N/A ### **After** N/A ## **Pre-merge author checklist** - [ ] I've followed [MetaMask 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.
Configuration menu - View commit details
-
Copy full SHA for 80f538e - Browse repository at this point
Copy the full SHA 80f538eView commit details -
fix: Remove invalid providerConfig id (#26310)
## **Description** Remove invalid `providerConfig.id` state. This was one possible explanation for some Sentry errors that we have been encountering in production. The diagnostic state attached to the error was not sufficient to confirm that this was the cause. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26310?quickstart=1) ## **Related issues** Relates to #26309 and #26320 ## **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.
Configuration menu - View commit details
-
Copy full SHA for b1ecc6c - Browse repository at this point
Copy the full SHA b1ecc6cView commit details -
fix(2946): disable the 'restore backup' in advanced settings (#26325)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The 'restore backup' feature in Extension advanced settings is currently broken and we suspect it can lead to state corruption issues. As a short term action, we shall disable the feature until we find a way to really fix it. <!-- 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/26325?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2946 ## **Manual testing steps** 1. Go to settings in extension 2. Go to advanced 3. Expect only 1 data exporting option left ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="833" alt="截屏2024-08-02 16 46 32" src="https://github.com/user-attachments/assets/f55ea7e3-4d8e-496b-9530-510d37ae1ba0"> <!-- [screenshots/recordings] --> ### **After** <img width="838" alt="截屏2024-08-02 17 08 04" src="https://github.com/user-attachments/assets/cf994c64-6d1e-485b-88ab-c6cd99cb3235"> <!-- [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.
Configuration menu - View commit details
-
Copy full SHA for d47f1c3 - Browse repository at this point
Copy the full SHA d47f1c3View commit details -
fix: Fix
currentNetwork
selector when current network config is mis……sing (#26327) ## **Description** The `providerConfig` state is not guaranteed to match a built-in or custom network. It should in the vast majority of cases, but there are some edge cases where that would not hold true. For example: * If the wallet crashed partway through removing the current network * If the user has had the same network selected since before we introduced the `networkConfigurations` state The `currentNetwork` selector has been updated to handle this case by returning a configuration object constructed from the `providerConfig` state directly. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26327?quickstart=1) ## **Related issues** Fixes #26320 ## **Manual testing steps** * Create a dev build and proceed through onboarding * Run this command in the background console to set `providerConfig` to a custom network that isn't present in the user's tracked network configurations: ``` chrome.storage.local.get( null, (state) => { state.data.NetworkController.providerConfig = { rpcUrl: 'https://mainnet.optimism.io', chainId: '0xa', ticker: 'ETH', type: 'rpc', }; chrome.storage.local.set(state, () => chrome.runtime.reload()); } ); ``` * See that the UI can be opened and does not crash. ## **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.
Configuration menu - View commit details
-
Copy full SHA for e5651cf - Browse repository at this point
Copy the full SHA e5651cfView commit details -
build: add alternative build process to enable faster developer builds (
#22506) Closes MetaMask/MetaMask-planning#1477 and MetaMask/MetaMask-planning#1903 This commit adds an alternative build process that is much faster than the gulp build we have now, which is quite slow and doesn't make use of modern build system improvements. The speed up is possible by making use of the SWC compiler, and more modern build system. The build system is also a bit simpler and hopefully more maintainable. This build doesn't yet support: * HMR/chromereload (requires we get rid of our circular dependencies) * lavamoat (neither running the build system _in_ lavamoat, or adding lavamoat protections) * production builds (because of not supporting lavamoat) * MV3 (requires writing a webpack plugin) Co-authored-by: Howard Braham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 090cb0b - Browse repository at this point
Copy the full SHA 090cb0bView commit details -
fix: Stop logging pipeline stream errors in the service worker if the…
…y match 'Premature close' (#26336) ## **Description** We have long seen many errors in Sentry that have the message "Premature close". This PR addresses those that occur when the UI is closed, and when a connected dapp is closed. This error is thrown from within the readable-stream module when multiple streams are passed to the same pipeline. We do not fully understand the issue yet, but it is suspected that we are incorrectly triggering or handling the destroy or end of a stream. Some relevant findings: - others have experienced similar problems: mafintosh/pump#25 - there are two separate "premature close" errors. One pre-existed this PR (and v12.0.0) #24533, and one was introduced with that PR - the one that was introduced with that PR goes away if the readable-stream dependency of object-multiplex is revert back to v2.3.3 - "so I think the problem is that we are explicitly calling destroy on some of the stream's in the pipeline, before the pipeline is finished doing whatever it needs to do when when the streams are ended/closed/finished" - if we use `connectionStream.pipe(mux).pipe(connectionStream);` instead of `pipeline(connectionStream, mux, connectionStream`, the error goes away, but that was changed almost 7 years ago in a PR titled "Memory leak fixes - stream and filter life cycles" #2070 - With reference to `setupMultiplex`: - if I change that line to pipeline(connectionStream, mux, (err) => {, the error goes away - but if I change it to pipeline(mux, connectionStream, (err) => {, the error does not go away We understand enough at this point to know that these error are not affecting user experience. For the moment, we are going to explicitly stop logging them, as the are clogging sentry, and [we can revisit the search for root cause in the future ](#26337) Note that there is at least one outstanding case of a "Premature close" error that can occur when the application is loading. This PR does not attempt to remove that error from being logged. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26336?quickstart=1) ## **Related issues** Fixes: #26284 ## **Manual testing steps** 1. Open the UI 2. Clear the background console 3. Close the UI 4. There should be no "Premature close" error ## **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.
Configuration menu - View commit details
-
Copy full SHA for 2456ba3 - Browse repository at this point
Copy the full SHA 2456ba3View commit details -
chore: normalize separator in
content
on theviewport
meta
tag (#……26268) The functionality is the same as before, but it this change works around a bug in https://github.com/terser/html-minifier-terser which causes the space to be removed, and the tag to become invalid (this only affects the webpack build). Upstream issues: webdiscus/html-bundler-webpack-plugin#106 terser/html-minifier-terser#178
Configuration menu - View commit details
-
Copy full SHA for 6b592c5 - Browse repository at this point
Copy the full SHA 6b592c5View commit details
Commits on Aug 5, 2024
-
test: Add test for migration 120.2 and fix docs (#26333)
## **Description** A test has been added for migration 120.2 to cover the scenario where all state migrations are applicable. The JSDoc block for the migration has also been updated to reflect all changes, previously it only covered a small subset. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26333?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.
Configuration menu - View commit details
-
Copy full SHA for b109dec - Browse repository at this point
Copy the full SHA b109decView commit details
Commits on Aug 6, 2024
-
fix: enable Save button on Add Contact page for address input (#26155)
<!-- 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 patches an issue in `add-contact.component.js` where the disabled state of the `Save` button would disappear only after a successful ENS resolution, effectively preventing plain addresses to be entered. I also added some extra unit tests to check for some of the cases that weren't covered before. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26155?quickstart=1) ## **Related issues** fixes #25918 fixes #25889 ## **Manual testing steps** 1. Go to Settings > Contacts > Add Contact 2. Enter a name and a valid Ethereum address 3. Observe the Save button getting enabled 4. Edit the address to make it invalid, observe the Save button getting disabled 5. Instead of an address, enter an ENS name and pick the resolved result 6. Observe the Save button getting enabled 7. Observe that the input is still editable (repeat 4.) ## **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 - [ ] 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. --------- Signed-off-by: Mircea Nistor <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 59cee4e - Browse repository at this point
Copy the full SHA 59cee4eView commit details
Commits on Aug 8, 2024
-
fix(25350): fix flakey token importing e2e test (#26351)
<!-- 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** Captured in https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/95033/workflows/faea9f93-9600-4207-bb3c-2dc17eec663b/jobs/3536505/tests. This test is flaky from not waiting for token price to be fetched and rendered properly. The simple fix would be - wait until token is imported after modal is closed - use `findVisibleElement` and the built in `timeout` to wait for element to be rendered properly Attached to this PR is a report [here](#26351 (comment)) of running it 20 times after the fix and results in no flakiness. <!-- 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/26351?quickstart=1) ## **Related issues** Fixes: #26350 ## **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.
Configuration menu - View commit details
-
Copy full SHA for 91dc6ea - Browse repository at this point
Copy the full SHA 91dc6eaView commit details
Commits on Aug 12, 2024
-
feat: Add metrics for alerts (transactions redesign) (#26121)
<!-- 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** Recently the Alert System was introduced to redesigned confirmations with this the alerts for those confirmations were migrated to use the new Alert System. This PR introduces infrastructure to track metrics for alerts in the redesigned confirmation system. It ensures that alert metrics are captured and included in the necessary places for tracking. The use of a context to manage shared state for alert metrics within the confirmation flow. The context approach was chosen because it allows us to maintain a single instance of the shared state per confirmation. This is crucial for ensuring that clicks on different inline alerts and actions are persisted and aggregated into a unified set of properties. These aggregated properties are then added to the transaction event, providing a comprehensive view of user interactions within the confirmation process. <!-- 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/26121?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2709 ## **Manual testing steps** 1. Go to the test dapp 2. in the session `PPOM - Malicious Transactions and Signatures` > mint ERC20 ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> [confirm.webm](https://github.com/user-attachments/assets/43d88b5a-c10e-472f-8603-83a344ca71ca) [reject.webm](https://github.com/user-attachments/assets/ce13cb90-89f7-43d7-8336-281ab784f4eb) ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Matthew Walsh <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bc6539b - Browse repository at this point
Copy the full SHA bc6539bView commit details -
refactor: replace deprecated mixins with text component in loading-sw…
…aps-quotes (#25553) ## **Description** This pull request replaces deprecated mixins with the Text component in the `loading-swaps-quotes` file. The changes include updating the SCSS and JS files to use the Text component and related enums, as well as deleting specific SCSS instances as instructed by the user. Devin Run Link: https://staging.itsdev.in/devin/edffa827e63141c8a3214c25ecf4a760 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25553?quickstart=1) ## **Related issues** Partially Fixes: #20496 ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Manually check if `LoadingSwapQuotes` is getting rendered properly ## **Screenshots/Recordings** ### **Before** ![](https://api.devin.ai/attachments/957044a7-ae7a-442e-ad5c-b5ca03c5d6f2/before_changes_loading-swaps-quotes.png) ### **After** ![](https://api.devin.ai/attachments/f3b372f6-d4f7-4e40-a485-8c642a28b1e7/4e483d0c-1c7c-467c-9c0a-f945b6341919.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** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 73460d5 - Browse repository at this point
Copy the full SHA 73460d5View commit details -
refactor: replace deprecated mixins with Text component in slippage-b…
…uttons (#25638) ## **Description** This pull request replaces deprecated mixins @include H1 - @include H9 in SCSS with the Text component in the "MetaMask/metamask-extension" repository. The changes are made in the `ui/pages/swaps/slippage-buttons/index.scss` and `slippage-buttons.js` files. 1. What is the reason for the change? - The deprecated mixins @include H1 - @include H9 need to be replaced with the Text component to ensure consistency and maintainability in the codebase. 2. What is the improvement/solution? - The deprecated mixins are replaced with the Text component, and the corresponding CSS properties are mapped to the Text component props. Devin Run Link : https://preview.devin.ai/devin/78aa98c3ee2b43c685a605db902abe1a Requested by: Devin [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25638?quickstart=1) ## **Related issues** Partially Fixes: #20496 ## **Manual testing steps** 1. Go to the latest build of storybook in this PR 2. Verify that the SlippageButtons component renders correctly with the updated Text components. 3. Ensure that the styles and functionality of the component remain consistent with the previous implementation. ## **Screenshots/Recordings** ### **Before** ![Before Changes](https://api.devin.ai/attachments/5d79c749-95ee-4131-92f6-8920e7ee6cc1/bbf6edb1-2de5-4a8b-ae0a-6e6681408f49.png) ### **After** ![After Changes](https://api.devin.ai/attachments/6e6a22ac-a050-4bff-858a-a15752ce5d2d/after_changes_slippage-buttons.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. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: George Marshall <[email protected]> Co-authored-by: Garrett Bear <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 13fec63 - Browse repository at this point
Copy the full SHA 13fec63View commit details -
refactor: add performance tracing infrastructure (#26044)
Add the `trace` method, to be used anywhere in the client to generate a Sentry trace to monitor and analyse performance metrics. Add buttons to the developer settings as an easy mechanism to generate Sentry errors (in the UI or background) and traces. Add the `Sentry.browserTracingIntegration` to automatically generate traces for each page navigation, including nested spans for any HTTP requests. Update the Sentry debugging documentation in the `README`.
Configuration menu - View commit details
-
Copy full SHA for 1ccd235 - Browse repository at this point
Copy the full SHA 1ccd235View commit details -
feat: Add integration test for blockaid on contract interaction (#26366)
<!-- 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** Introduces an integration test that checks that the blockaid alert appears for a malicious transaction. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26366?quickstart=1) ## **Related issues** Fixes: [2748](MetaMask/MetaMask-planning#2748) ## **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.
Configuration menu - View commit details
-
Copy full SHA for 13b5ae7 - Browse repository at this point
Copy the full SHA 13b5ae7View commit details
Commits on Aug 13, 2024
-
fix: remove submitRequest from dapp permission (#26319)
<!-- 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 updates the e2e testing for user operations to use the latest snap and removes the `submitRequest` permission from dapps. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26276?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#554 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [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.
Configuration menu - View commit details
-
Copy full SHA for 1fef871 - Browse repository at this point
Copy the full SHA 1fef871View commit details -
refactor(notifications): use contentful package as dev dependency (#2…
…6381) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** We only use this package for its types, so can be treated as a dev dependency. This will also resolve the audit issue currently seen in [CI](https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/95274/workflows/b92333ec-1a1c-4ce6-bd7d-7601fe14e1e3/jobs/3546366). <!-- 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/26381?quickstart=1) ## **Related issues** Fixes: CI issues, and better reflects the use case of this dependency. ## **Manual testing steps** Re-test notifications flow 1. Onboard with new or existing wallet 2. Enable notifications 3. Perform a swap on Polygon (a chain we support on-chain notifications for) 4. See if notifications appear. For Notification Devs: As there is no feature announcements yet, manually change the code to point to a portfolio feature announcement. I've tested and it seems that we still correctly show a feature announcement to users. ## **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.
Configuration menu - View commit details
-
Copy full SHA for cad49eb - Browse repository at this point
Copy the full SHA cad49ebView commit details -
fix: Add migration 120.4 to delete obsolete currency controller state (…
…#26383) ## **Description** We are seeing the following sorts of errors in production, as reported by sentry, in v12.0.2: `No metadata found for 'conversionDate'` `No metadata found for 'usdConversionRate'` `No metadata found for 'nativeCurrency'` `No metadata found for 'conversionRate'` Example issue: https://metamask.sentry.io/issues/5682684113/events/b8006eebb65749f883e907242e52215b/?project=273505&query=is%3Aunresolved+issue.priority%3A%5Bhigh%2C+medium%5D+No+metadata+release%3A12.0.1&referrer=previous-event&statsPeriod=14d&stream_index=1 The `CurrencyRateController` stopped using six such properties with MetaMask/core#1805, which was brought into the extension with #21549, however, there was not a state migration to delete those properties at the time This PR adds migrations to delete those obsolete properties [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26383?quickstart=1) ## **Related issues** Fixes: #26356 ## **Manual testing steps** To observe the error using steps that mimic users in production 1. Install v11.6.0 and onboard 2. Create a local dev build from the `master` branch 3. Update the v11.6.0 install to the local dev build 4. See the errors in the service worker console If you repeat those steps, but in step two build from this branch instead of the `master` branch, the errors will not occur For a faster manual test of this PR, create a local development build of this branch and then run this script in the service worker console: ``` window.chrome.storage.local.get(({ data, meta }) => chrome.storage.local.set({ data: { ...data, CurrencyController: { ...data.CurrencyController, conversionDate: 'Jan 1', conversionRate: '2', nativeCurrency: 'test' } }, meta: {...meta, version: 120 } }, () => { chrome.runtime.reload() })) ``` There should be no errors like `No metadata found for 'conversionRate'` (but if you do the same on develop or master, those errors should be present) ## **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 - [ ] 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: Mark Stacey <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ac638f1 - Browse repository at this point
Copy the full SHA ac638f1View commit details -
chore: MMI move duck and selector to TS (#26125)
<!-- 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 our institutional duck and selector files to TS: ``` ui/ducks/institutional/institutional.ts ui/selectors/institutional/selectors.ts ``` ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Albert Olivé <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 717376e - Browse repository at this point
Copy the full SHA 717376eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b47a79 - Browse repository at this point
Copy the full SHA 8b47a79View commit details -
feat: updated SSK version in e2e and added test for creating multiple… (
#26378) ## **Description** Adds an e2e test where the account Snap suggests the same account name more than once. The expected behavior is that the default account names should have an increasing numeric suffix, e.g.: - SSK Account - SSK Account 2 - SSK Account 3 Dependency: MetaMask/snaps-registry#735 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26378?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#548 ## **Manual testing steps** 1. Install the [Snap Simple Keyring](https://metamask.github.io/snap-simple-keyring/latest/) and connect to the dapp 2. Create an account -> name of 1st account should be "SSK Account" 3. Create more accounts -> 2nd account should be "SSK Account 2" and so forth 4. Try renaming a numbered SSK Account to a higher number, the next account created should be the lowest possible available "SSK Account X" with X being the lowest available number ## **Screenshots/Recordings** https://github.com/user-attachments/assets/b2404a8f-dbe9-468f-9ca3-aac1e028acae ## **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.
Configuration menu - View commit details
-
Copy full SHA for b3c2323 - Browse repository at this point
Copy the full SHA b3c2323View commit details -
fix: Delete obsolete properties from phishingController and networkCo…
…ntrol… (#26396) <!-- 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** Expands on #26383 to delete more obsolete state from the Network and Phishing controllers, to eliminate other sentry errors. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26396?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** - [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: Mark Stacey <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a59d178 - Browse repository at this point
Copy the full SHA a59d178View commit details -
fix: Fix invalid state causing migration 88 to fail (#26397)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** We have found evidence that migration 88 is failing for some users due to a `null` key in the `TokensController.allTokens` state. The migration has been updated to delete any invalid `null`-keys prior to migrating it, preventing the error. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26397?quickstart=1) ## **Related issues** Fixes #25938 ## **Manual testing steps** The unit tests demonstrate the affected scenario fairly well. We addressed the "null key" case for a variety of different parts of state, but specifically the one we are seeing in prod is the `allTokens` state having a `null` key. ## **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.
Configuration menu - View commit details
-
Copy full SHA for 8901b68 - Browse repository at this point
Copy the full SHA 8901b68View commit details -
test: snap account contract interaction (#26234)
## **Description** This PR will introduce an e2e test for a snap account interacting with a contract via the test dapp. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26234?quickstart=1) ## **Related issues** Fixes: [470](MetaMask/accounts-planning#470) ## **Manual testing steps** `yarn build:test:mv2` then `ENABLE_MV3=false yarn test:e2e:single test/e2e/accounts/snap-account-contract-interaction.spec.ts --browser=firefox` `yarn build:test` then `yarn test:e2e:single test/e2e/accounts/snap-account-contract-interaction.spec.ts --browser=chrome` ## **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. --------- Co-authored-by: Gustavo Antunes <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 50949f8 - Browse repository at this point
Copy the full SHA 50949f8View commit details
Commits on Aug 14, 2024
-
refactor: use core profile syncing controllers. (#26370)
## **Description** 1st migration to shared controllers. This adds the reusable controllers from core. Migrated `AuthenticationController` and `UserStorageController` [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26370?quickstart=1) ## **Related issues** Fixes: N/A ## **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]>
Configuration menu - View commit details
-
Copy full SHA for f9353f4 - Browse repository at this point
Copy the full SHA f9353f4View commit details -
fix: Improve hex copy button (#26384)
<!-- 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 leverages the copy behaviour introduced in the InfoRow component in #25682 to update the design for copying hex data in the transaction advanced details. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26384?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** <img width="472" alt="Screenshot 2024-08-13 at 11 20 34" src="https://github.com/user-attachments/assets/8157a20a-e1dc-428a-a22b-b607a270cea1"> ### **After** <img width="472" alt="Screenshot 2024-08-13 at 11 12 45" src="https://github.com/user-attachments/assets/793a2751-f439-4978-ab0b-fc5739ae9a37"> ## **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.
Configuration menu - View commit details
-
Copy full SHA for 3c89610 - Browse repository at this point
Copy the full SHA 3c89610View commit details -
fix: Restore snaps-controllers version following patch (#26412)
<!-- 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** 090cb0b unintentionally rolled back several versions of `snaps-controllers` by applying a patch. This PR applies the same patch to the previously integrated version, bringing the `snaps-controllers` version back to `9.2.0`.
Configuration menu - View commit details
-
Copy full SHA for 0a03bd8 - Browse repository at this point
Copy the full SHA 0a03bd8View commit details -
fix: notifications use better events (#26410)
<!-- 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 and introduces some events necessary for the notifications team to track user interaction with notifications. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26410?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [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.
Configuration menu - View commit details
-
Copy full SHA for 92eb990 - Browse repository at this point
Copy the full SHA 92eb990View commit details -
fix: Enter key on Create Account checkbox should not trigger show/hide (
#26394) <!-- 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** - Replaces deprecated CheckBox component with design-system component - Stops implicit submit button behavior on form show/hide password - As an extra measure, use e.preventDefault() on the terms checkbox event to prevent show/hide toggle [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26394?quickstart=1) ## **Related issues** Fixes: #26407 ("Enter" on terms checkbox input) Fixes: #26408 ("Enter" on password text inputs) ## **Manual testing steps** 1. Go to the onboarding Create Account page 2. Enter passwords 3. Tab to checkbox 4. Press "Enter" key 5. Observe passwords show/hide ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** #### password inputs https://github.com/user-attachments/assets/7a25f0d5-5ee1-4f85-9959-518f39eefbfb #### checkbox https://github.com/user-attachments/assets/808347bd-de96-4d07-b9ae-154ed10fc20f ### **After** #### checkbox https://github.com/user-attachments/assets/b77df2aa-0ff7-4e4e-b673-c43c137f4174 ## **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.
Configuration menu - View commit details
-
Copy full SHA for e644e1d - Browse repository at this point
Copy the full SHA e644e1dView commit details -
fix: Flaky contract interaction test (#26420)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** On #26234, `scrollAndConfirmAndAssertConfirm` was modified to use `clickElementSafe` instead of `clickElement`. Even though this was probably useful for the test in `snap-account-contract-interaction.spec.ts` that the PR introduced, it broke `Sends a contract interaction type 2 transaction with custom nonce editing (EIP1559)` inside `contract-interaction-redesign.spec.ts`. This is because `clickElementSafe` doesn't attempt to find a clickable element multiple times like `clickElement`. Without that retry, the scroll button was not pressed. Without that, the confirm button in the footer was not enabled and the test fails. Adding a delay before the particular usage of `scrollAndConfirmAndAssertConfirm` that was failing fixes the test execution. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26420?quickstart=1) ## **Related issues** Fixes: #26417 ## **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: Harika Jetpoluru <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bef5b8f - Browse repository at this point
Copy the full SHA bef5b8fView commit details -
fix: Do not break application if no token details are found using get…
…TokenStandardAndDetails (#26324) <!-- 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** Upon further observation and while work on test cases with varying mock data, I found code improvements and, I believe, fixes related to the Permit code. 1. If getTokenStandardAndDetails does not return token details, the app should not break. The PR handles this in 2 locations of the application. 2. We should serialize the behavior in useEffect to run set states so that it does not run async [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26324?quickstart=1) ## **Related issues** Related to: #25410 Related to: #26107 ## **Manual testing steps** 1. Go to this page... 3. 4. ## **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.
Configuration menu - View commit details
-
Copy full SHA for 03a6569 - Browse repository at this point
Copy the full SHA 03a6569View commit details -
chore: Remove i18n translations from Developer Options Settings Page (#…
…26380) <!-- 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** Since the Developer Options Settings Page is only used internally, remove translation support. No visible english-version UI/UX changes [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26380?quickstart=1) ## **Related issues** Fixes: #24412 ## **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. --> no ui/ux changes ![CleanShot 2024-08-12 at 22 49 44](https://github.com/user-attachments/assets/3f9b9b7b-9be8-4761-823f-721ae24ab838) ## **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.
Configuration menu - View commit details
-
Copy full SHA for cdd543d - Browse repository at this point
Copy the full SHA cdd543dView commit details -
feat: feature-flagged cross-chain swaps route [METABRIDGE-867] (#25811)
<!-- 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 change adds a placeholder route for the cross-chain swaps experience (roughly based on swaps page). Clicking on the Bridge button should link to the route when the feature flag is turned on. Otherwise, the portfolio bridge experience is loaded (current behavior) New e2e tests: #25812 Migration to BaseController v2: #26109 <!-- 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/25481?quickstart=1) ## **Related issues** Fixes: [METABRIDGE-867](https://consensyssoftware.atlassian.net/browse/METABRIDGE-867) ## **Manual testing steps** 1. Build locally and set `BRIDGE_USE_DEV_APIS=1` 2. Check that bridge-api getAllFeatureFlags is fetched 3. Verify that bridgeState FF is set to true in state logs 3. Click on Bridge button and verify Bridge page is visible 5. Build locally and set `BRIDGE_USE_DEV_APIS=0` 6. Wait ~10 minutes 7. Reload and Check that bridge-api getAllFeatureFlags is fetched 3. Verify that bridgeState FF is set to false in state logs 8. Click on Bridge button and verify Portfolio URL is opened in a new tab ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** N/A <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ![Screenshot 2024-07-12 at 3 44 34 PM](https://github.com/user-attachments/assets/9490eb40-8239-4aad-9a28-ed5624e2b51e) ## **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. [METABRIDGE-867]: https://consensyssoftware.atlassian.net/browse/METABRIDGE-867?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
Configuration menu - View commit details
-
Copy full SHA for 42326a7 - Browse repository at this point
Copy the full SHA 42326a7View commit details -
build(webpack): polyfill
setImmediate
(#26398)Fixes flaky test `Sentry errors after initialization, after opting into metrics @no-mmi should send error events in background` in the webpack build.
Configuration menu - View commit details
-
Copy full SHA for c5c13d5 - Browse repository at this point
Copy the full SHA c5c13d5View commit details -
test: ensure bridge button handles clicks according to feature flags (#…
…25812) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Adds e2e tests for new cross-chain swaps routes <!-- 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/25793?quickstart=1) ## **Related issues** Follow-up to #25811 ## **Manual testing steps** 1. New tests should run successfully ## **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.
Configuration menu - View commit details
-
Copy full SHA for 2707dc3 - Browse repository at this point
Copy the full SHA 2707dc3View commit details -
fix: Delete invalid
SelectedNetworkController
state (#26428)## **Description** The `SelectedNetworkController` state is cleared if any invalid `networkConfigurationId`s are found in state. We are seeing reports of this happening in production in v12.0.1. The suspected cause is `NetworkController` state corruption. We resolved a few cases of this in v12.0.1, but for users that were affected by this, the invalid IDs may have propogated to the `SelectedNetworkController` state already. That is what this migration intends to fix. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26428?quickstart=1) ## **Related issues** Fixes #26309 ## **Manual testing steps** We don't have clear reproduction steps for the bug itself. To artificially reproduce the scenario by changing extension state, this should work: * Create a dev build from v12.0.2 * Install the dev build from the `dist/chrome` directory and proceed through onboarding * Visit the test dapp, refresh, and connect to it. * Run this command in the background console: ``` chrome.storage.local.get( null, (state) => { state.data.SelectedNetworkController.domains['https://metamask.github.io'] = '123'; chrome.storage.local.set(state, () => chrome.runtime.reload()); } ); ``` * The linked error should now appear in the console of the popup * Disable the extension * Switch to this branch and create a dev build * Enable and reload the extension * The error should no longer appear. ## **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.
Configuration menu - View commit details
-
Copy full SHA for e3144c5 - Browse repository at this point
Copy the full SHA e3144c5View commit details -
feat: Enable why did you render (#26339)
<!-- 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** 1. What is the reason for the change? - Enables the [why did you render](https://github.com/welldone-software/why-did-you-render) tool for the extension. - this tool helps us more easily identify performance issues and unnecessary re renders - this is a dev environment tool that should not be used in production. 2. What is the improvement/solution? - create a new ENV variable to enable/disable this tool. This variable is named `ENABLE_WHY_DID_YOU_RENDER` - `this tool will disabled by default` (`-ENABLE_WHY_DID_YOU_RENDER: false`) - when enabled, this tool profiles the entire app and logs for render reports in the browser console - these are very useful when debugging performance issues as well as in day to day development when trying to reduce rerenders - to install this tool I followed these setup instructions: https://github.com/welldone-software/why-did-you-render?tab=readme-ov-file#setup [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26339?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** #### Steps to ensure that this feature is disabled by default 1. yarn install && yarn start 9. load app in browser 10. cerate wallet 11. open browser console 12. There should be no render report logs in your console #### Steps to test enabling the render reports (assuming you already built the app in the previous steps) 1. open `builds.yml` 2. scroll to the bottom and find the `WHY_DID_YOU_RENDER_ENABLED` variable 4. set the value to `true` 5. run `yarn start` 6. reload the extension in the browser 7. open the browser console 8. you SHOULD see render reports for the component that you are on ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** N/A ### **After** en example of a render report <img width="681" alt="Screenshot 2024-08-13 at 11 20 41 AM" src="https://github.com/user-attachments/assets/49e6e1d9-ea12-419a-8bba-676fa36c2520"> video showing that this feature is `disabled` by default and can be turned on by changing the feature flag https://github.com/user-attachments/assets/83c17ef9-94a7-44d7-b076-95de0d3a9b31 video showing general use case. https://github.com/user-attachments/assets/9668db06-f193-4d1a-b5a3-ef7880514f40 ## **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). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bf01aaf - Browse repository at this point
Copy the full SHA bf01aafView commit details
Commits on Aug 15, 2024
-
chore: migrate BridgeController to BaseController v2 (#26109)
<!-- 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** Changes - split up bridge controller class into separate files - upgrade bridge controller implementation to extend BaseController V2 <!-- 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/26109?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/METABRIDGE-866 ## **Manual testing steps** 1. No user-facing changes so just verify that tests pass ## **Screenshots/Recordings** ### **Before** N/A <!-- [screenshots/recordings] --> ### **After** N/A <!-- [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.
Configuration menu - View commit details
-
Copy full SHA for c37451d - Browse repository at this point
Copy the full SHA c37451dView commit details -
fix: timeout and "Rerun failed tests" (#26239)
### The problem from Mark Stacey > Today I learned that the "Rerun failed tests" button in CircleCI can result in some tests being skipped completely, never having been run for that commit at all. "Rerun failed tests" will only rerun tests that had failed. It will skip tests that haven't been run at all. This is problematic when the test process exits before all tests are run, like if a test hits the 20 minute timeout we have set. I rewrote .circleci/scripts/test-run-e2e.sh to allow `config.yml` to be simpler, and 45 lines shorter. Now if it timeouts and someone tries to "Rerun failed tests" the result will be `Error: can not rerun failed tests: no failed tests could be found` So it doesn't stop you from trying, but it fails once you try. I also removed some unnecessary `|` for line continuations. This might not catch `no_output_timeout` failures.
Configuration menu - View commit details
-
Copy full SHA for 19f84ab - Browse repository at this point
Copy the full SHA 19f84abView commit details -
test: add transaction contract interaction integration tests (#26272)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Adds UI integration tests for redesigned contract interaction transaction. The added tests validate the transaction details section as well as the advanced details section. ## **Related issues** Fixes MetaMask/MetaMask-planning#2746, fixes MetaMask/MetaMask-planning#2747 ## **Manual testing steps** 1. No need, this PR only adds UI integration tests ## **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: Priya Narayanaswamy <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a57529b - Browse repository at this point
Copy the full SHA a57529bView commit details -
feat: Add abstraction for Snaps permissions (#25175)
## **Description** Add abstraction for Snaps permissions. Permissions under certain weight threshold are hidden, following the rules described in the related task. #### Change summary - Changes are made to Snap Instal and Snap Update components, as well in the hook `useScrollRequired` in order to handle the new scrolling behavior requested by @eriknson. The new requirement is to never show scroll arrow (requirement) again, if the user has scrolled to the bottom once. - New component `SnapPermissionAdapter` is added to avoid further code complication and duplication. This component will handle displaying final set of permissions. - Snap settings view is supposed to show all granted permissions at once. So, the new flag is added to the permission list component so the permission abstraction can be disabled in Snap settings. - Configurations for permission weight thresholds used for abstraction, are added to `shared/constants/permissions.ts`. - Permission weights are updated according to the notion document. #### Notes _(For reviewers)_ Some small fragments of UI might be different from the design sources linked. This is outcome of the several discussions between me and @eriknson. For more information contact me or @eriknson. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25175?quickstart=1) ## **Related issues** Fixes: MetaMask/snaps#2235 ## **Manual testing steps** 1. Try installing or updating Snaps with different numbers of permissions with different weights. The best option is to try many of the test Snaps. 2. Verify that UI is rendered according to logic described in the related task. ## **Screenshots/Recordings** ### **Before** Before there was no "See all permissions" and similar functionalities related to the scrolling. I think that's the only thing that could compare. There is probably no need to screenshot everything from before, etc. QA to verify. ### **After** ![Screenshot 2024-06-13 at 12 19 45](https://github.com/MetaMask/metamask-extension/assets/13301024/d7d948a6-d7e5-47af-b91d-da16c95edda3) ![Screenshot 2024-06-13 at 12 20 01](https://github.com/MetaMask/metamask-extension/assets/13301024/84845ab2-a4a9-4409-8c15-ff3c41975678) ![Screenshot 2024-06-13 at 12 20 23](https://github.com/MetaMask/metamask-extension/assets/13301024/8c3ee56d-ce30-4b62-a25a-32ae66c8a2ca) ![Screenshot 2024-06-13 at 12 20 33](https://github.com/MetaMask/metamask-extension/assets/13301024/efb123f6-ded6-4ad9-8b8f-e67364c13b0c) ![Screenshot 2024-06-13 at 12 22 07](https://github.com/MetaMask/metamask-extension/assets/13301024/132a8454-b0f8-40b8-b15d-fe638f13d11b) ![Screenshot 2024-06-13 at 12 21 56](https://github.com/MetaMask/metamask-extension/assets/13301024/242c4c43-3ee4-46cd-a571-60d6409febd0) ![Screenshot 2024-06-13 at 12 21 34](https://github.com/MetaMask/metamask-extension/assets/13301024/b53cabe7-7132-4568-ae6b-6d68e726936c) ![Screenshot 2024-06-13 at 12 21 20](https://github.com/MetaMask/metamask-extension/assets/13301024/e4329a15-0da9-455a-967c-0203c0360e0f) ## **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.
Configuration menu - View commit details
-
Copy full SHA for de89667 - Browse repository at this point
Copy the full SHA de89667View commit details -
fix: problem with origins in the Snaps permission UI (#26422)
## **Description** Displaying website URLs for origins in Snaps permissions UI is problematic and can cause UI to break. This PR introduces usage of `line-break: anywhere` for the origins. Full width is also added to the permissions list, to stretch the box that is holding permission cells, this helps in cases with less content that doesn't push all elements to the full width (e.g. info icon). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26422?quickstart=1) ## **Related issues** Fixes: #26421 ## **Manual testing steps** 1. Try installing https://snaps.metamask.io/snap/npm/silencelaboratories/silent-shard-snap/ or https://snaps.metamask.io/snap/npm/safeheron/mpcsnap/ 2. Check that UI is not broken like before ## **Screenshots/Recordings** ### **Before** ![image](https://github.com/user-attachments/assets/e60eca86-9ad1-4c7b-8d30-13561fdabec1) ![image](https://github.com/user-attachments/assets/b5e46dd9-5816-4e2e-aaca-53ea2ac8beca) ### **After** ![Screenshot 2024-08-14 at 16 17 59](https://github.com/user-attachments/assets/2d27500b-5495-4b60-83d8-ceabd6641529) ![Screenshot 2024-08-14 at 16 18 21](https://github.com/user-attachments/assets/b61fd831-c0c8-4956-afcc-6b6796985f02) ## **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.
Configuration menu - View commit details
-
Copy full SHA for 517cbc4 - Browse repository at this point
Copy the full SHA 517cbc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for d5592f2 - Browse repository at this point
Copy the full SHA d5592f2View commit details -
fix: Codespaces
corepack enable
(#25161)- #24930 broke Codespaces, this fixes it by adding `corepack enable` - Had to use `yes | yarn --immutable` because it asks `Corepack is about to download... Do you want to continue? [Y/n]` - Updated two `"yarn": "^4.0.2"` to `"yarn": "^4.2.2"` - Properly deal with a 'Not Found' error in `yarn download-builds` - disabled `git.autofetch`, as it was probably causing the `fatal: Cannot rebase onto multiple branches` --------- Co-authored-by: legobeat <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1101474 - Browse repository at this point
Copy the full SHA 1101474View commit details -
fix: Improve AccountListMenu/Item performance (#26379)
<!-- 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** 1. What is the reason for the change? - reduce unnecessary re renders of the AccountsListMenu and AccountsListItem component - reduce tech debt - adopt better patterns like memoizing callbacks, lifting state to parent components and memoizing smaller components 2. What is the improvement/solution? - memoize AccountsListItem - remove `getSelectedInternalAccount` form AccountsListItem since this component already has a prop called `selected` that uses the same logic. Lifting this state to the parent means that the `AccountsListItem` will not need to re render. Also a change in the `getSelectedInternalAccount` would trigger a re render of all its parents which is unnecessary. - This prop is now required to make up for the fact that we don't have the state anymore - memoize callbacks in the AccountListMenu - _**This PR has minor changes and should not effect any user flows. It does not require QA before merging**_ [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26379?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#512 ## **Manual testing steps** - import / create a wallet - create as many accounts as you can - each time you create an account, the new account should be selected - open the account menu and select a new account, the account should become globally selected - select an account, click the three dots beside it, go to account details, click on view private key, put password, the private key should be displayed ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** ### **After** https://github.com/user-attachments/assets/9e57fd80-88d1-4708-95e2-303e19106bed ## **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.
Configuration menu - View commit details
-
Copy full SHA for df95e54 - Browse repository at this point
Copy the full SHA df95e54View commit details -
chore: Bump Snaps packages (#26086)
## **Description** This bumps all Snaps packages to the latest versions and handles breaking changes. It also introduces some new components and RPC methods. Summary of changes in the snaps deps: - Add new `snap_dialog` confirmation type that uses fully custom UI - Add `Container` and `Footer` component - Add `RadioGroup` component - Add `Card` component - Add `snap_getPreferences` to return user preferences - Add `snap_resolveInterface` to resolve existing interfaces - Handle initial connections for preinstalled Snaps - Enforce stricter size limits for source code, static auxiliary files, and `snap_getFile` return values - Account for revoked origins when calculating the difference in `initialConnections` Closes MetaMask/MetaMask-planning#1571 Closes MetaMask/MetaMask-planning#2125 Closes MetaMask/snaps#2622 Closes MetaMask/MetaMask-planning#1956 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26086?quickstart=1) --------- Co-authored-by: Frederik Bolding <[email protected]> Co-authored-by: David Drazic <[email protected]> Co-authored-by: Guillaume Roux <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f461e37 - Browse repository at this point
Copy the full SHA f461e37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54b3237 - Browse repository at this point
Copy the full SHA 54b3237View commit details
Commits on Sep 6, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 3e1094a - Browse repository at this point
Copy the full SHA 3e1094aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 472fb12 - Browse repository at this point
Copy the full SHA 472fb12View commit details
Commits on Sep 9, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 06c25bb - Browse repository at this point
Copy the full SHA 06c25bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 84e5bb2 - Browse repository at this point
Copy the full SHA 84e5bb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0600006 - Browse repository at this point
Copy the full SHA 0600006View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c1d844 - Browse repository at this point
Copy the full SHA 8c1d844View commit details
Commits on Sep 11, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 15841b4 - Browse repository at this point
Copy the full SHA 15841b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0372aa7 - Browse repository at this point
Copy the full SHA 0372aa7View commit details -
fix: Ignore yarn audit warning for GHSA-9wv6-86v2-598j (#27024)
## **Description** This addresses the following `yarn audit` failure: ``` └─ path-to-regexp ├─ ID: 1099496 ├─ Issue: path-to-regexp outputs backtracking regular expressions ├─ URL: GHSA-9wv6-86v2-598j ├─ Severity: high ├─ Vulnerable Versions: >=0.2.0 <8.0.0 │ ├─ Tree Versions │ └─ 1.7.0 │ └─ Dependents └─ react-router@npm:5.1.2 [12b72] ``` path-to-Regexp is used in two files within react-router v5.1.2: `generatePath.js` and `matchPath.js`. In both cases, `path` and `options` variables are passed to a `compilePath` function. Those are then passed to `pathtoRegexp`. The variables passed to `pathtoRegexp` are dependent on props or parameters passed to react-router components and/or methods explictly from the metamask code. So this vulnerability cannot be exploited by an external actor. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27024?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.
Configuration menu - View commit details
-
Copy full SHA for c2b3dbc - Browse repository at this point
Copy the full SHA c2b3dbcView commit details -
fix: Add a second id to ignore for the GHSA-9wv6-86v2-598j (#27041)
## **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.
Configuration menu - View commit details
-
Copy full SHA for 856f1f9 - Browse repository at this point
Copy the full SHA 856f1f9View commit details -
fix: Update id for ignoring path-to-regexp advisory (#27044)
## **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.
Configuration menu - View commit details
-
Copy full SHA for e0deec9 - Browse repository at this point
Copy the full SHA e0deec9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4461ab5 - Browse repository at this point
Copy the full SHA 4461ab5View commit details -
Configuration menu - View commit details
-
Copy full SHA for f22fc70 - Browse repository at this point
Copy the full SHA f22fc70View commit details -
test(btc): mock ramps endpoints (#26941)
Follow-up of: - #26929 The previous PR did unblock the CI quickly but relying on a external network call might still have side-effects, thus it's preferable to hook all network calls. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26941?quickstart=1) Relates to: - #26929 1. `yarn build:test:flask` 2. `yarn test:e2e:single test/e2e/flask/btc/btc-account-overview.spec.ts` - [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. - [ ] 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.
Configuration menu - View commit details
-
Copy full SHA for 439f7d6 - Browse repository at this point
Copy the full SHA 439f7d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 34cf07d - Browse repository at this point
Copy the full SHA 34cf07dView commit details -
Temporary patch to changelog to get v12.3.0 RC build passing (#27075)
Temporary patch to changelog to get v12.3.0 RC build passing
Configuration menu - View commit details
-
Copy full SHA for fc9b12a - Browse repository at this point
Copy the full SHA fc9b12aView commit details
Commits on Sep 13, 2024
-
feat(migration): enable token auto-detection when basic functionality…
… is on (#27110) Cherry picks #26406 to 12.3.0 Co-authored-by: sahar-fehri <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6d3a56a - Browse repository at this point
Copy the full SHA 6d3a56aView commit details
Commits on Sep 16, 2024
-
fix(cherry-pick): resolve path-to-regexp to v1.9.0 to resolve GHSA-9w…
…v6-86v2-598j (#27113) (#27159) ## **Description** This permanently fixes GHSA-9wv6-86v2-598j by resolving that package to a recently released version that does not having breaking changes and where the security vulnerability is resolved. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27159?quickstart=1) ## **Related issues** Fixes: - GHSA-9wv6-86v2-598j ## **Manual testing steps** N/A ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: Dan J Miller <[email protected]> Co-authored-by: MetaMask Bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 88b8ef1 - Browse repository at this point
Copy the full SHA 88b8ef1View commit details -
Configuration menu - View commit details
-
Copy full SHA for dac872f - Browse repository at this point
Copy the full SHA dac872fView commit details -
fix (cherry-pick): typo (#27010) (#27029)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes a typo for two properties that were updated in a recent change to the Segment schema. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27010?quickstart=1) ## **Related issues** [Fixes:](Consensys/segment-schema#211) ## **Manual testing steps** N/A ## **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** <!-- 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/27029?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.
Configuration menu - View commit details
-
Copy full SHA for edf7501 - Browse repository at this point
Copy the full SHA edf7501View commit details -
fix: (cherry-pick) check if the notifications started flow is running (…
…#27038) (#27056) <!-- 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** - [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). - [ ] 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.
Configuration menu - View commit details
-
Copy full SHA for bcd40f6 - Browse repository at this point
Copy the full SHA bcd40f6View commit details -
fix (cherry-pick): Don't show AccountListMenu back button by default (#…
…27152) ## **Description** A recent change (#26271) made it such that the "<" (back button) in the `AccountListMenu` component always shows. We do *not* want this when the `AccountListMenu` first opens, so this PR ensures that. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26940?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Open the `AccountListMenu` 2. Don't see the `<` 3. Click the "Add account" button 4. See the `<` 5. Click the `<`, go back to main menu ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="891" alt="SCR-20240904-pens" src="https://github.com/user-attachments/assets/ee4b9cdc-503d-4d97-99a0-f7045ba1d503"> ### **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.
Configuration menu - View commit details
-
Copy full SHA for 02de2ab - Browse repository at this point
Copy the full SHA 02de2abView commit details -
fix: cherry-pick V12.3.0 fix: PermitTransferFrom or PermitBatchTransf…
…erFrom crashes MM when value for Name address has not been loaded (#27168) ## **Description** cherry-picks #26791 into V12.3.0 no conflicts <!-- 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/27168?quickstart=1) ## **Related issues** Fixes: #26593 ## **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.
Configuration menu - View commit details
-
Copy full SHA for ad728f7 - Browse repository at this point
Copy the full SHA ad728f7View commit details
Commits on Sep 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 04d6bd2 - Browse repository at this point
Copy the full SHA 04d6bd2View commit details -
fix: Allow to re-submit a cancelled swap if cancelled via a HW wallet (…
…#27210) ## **Description** This PR is a partial cherry pick of [this one](#26251) and fixes an edge case for [this PR](#25742), where when a swap was cancelled on a HW device, the submit button for swaps was disabled. Now a user can resubmit cancelled swaps repeatedly. It was already fixed [here](#26251) about a month ago, but it's not in the v12.3.0 release. That's why this partial cherry-pick is needed. ## **Manual testing steps** 1. Go to Swaps with a HW wallet on Ethereum Mainnet and Smart Transactions enabled in Advanced Settings 2. Submit a swap, but cancel it on a HW device 3. You should see the quote overview page again and the `Swap` button should be enabled ## **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.
Configuration menu - View commit details
-
Copy full SHA for 2d660df - Browse repository at this point
Copy the full SHA 2d660dfView commit details -
STX Timer bug cherrypick 12.3 (#26935)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR fixes an issue where the STX status screen for a swap was showing a 0:00 for the timer. It is a cherrypick of #25779 into v12.3. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25779?quickstart=1) ## **Related issues** Related to: #25063 ## **Manual testing steps** 1. Make sure Smart Transactions is on (Settings > Advanced) 2. Do a Swap 3. Observe that timer is not 0:00 and is a reasonable number ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-extension/assets/139582705/26fe6167-614f-4771-b35b-10803bc23fc0 ### **After** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-extension/assets/139582705/d92b933d-1011-48b4-bf04-344f275d35db ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [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. Co-authored-by: infiniteflower <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0713e46 - Browse repository at this point
Copy the full SHA 0713e46View commit details
Commits on Sep 18, 2024
-
fix: [cherrypick][V12.3.0] patch profile-sync-controller storage entr…
…y path hash (#27219) ## **Description** Patches the underlying `@metamask/profile-sync-controller` to use the original storage key path for notifications. This was merged in develop here #27224 This fixes a critical issue where we were not using the same UserStorage hashed entry. See release library changelog https://github.com/MetaMask/core/blob/main/packages/profile-sync-controller/CHANGELOG.md#fixed <!-- 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/27219?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** Test notifications flow, are notifications still working ## **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.
Configuration menu - View commit details
-
Copy full SHA for 63cf08b - Browse repository at this point
Copy the full SHA 63cf08bView commit details -
fix(cherry-pick): Adding "cookie id" to metrics event (#26697) (#27227)
Cherry picking #26697 to V12.3.0 #26697 sets up a stream communication with the label 'metamask-cookie-handler'. The data sent from the page will be intercepted at the content-script and forwarded to the extension. The 'ga_client_id' sent from the page is saved as `marketingCampaignCookieId` in the metaMetricsController state and fetched when building the context for each event. <!-- 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/27227?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.
Configuration menu - View commit details
-
Copy full SHA for 3373b9a - Browse repository at this point
Copy the full SHA 3373b9aView commit details -
fix: Estimated fee in redesigned screens (#27250)
cherry-pick: (#27247) <!-- 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. --> `maxFeePerGas`, `maxPriorityFeePerGas` and `estimatedBaseFee` are decimal values that should be converted before being used inside `multiplyHexes` and `addHexes`. `estimatedBaseFee` also needs to be converted to wei. <!-- 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/27247?quickstart=1) Fixes: 1. Go to this page... 2. 3. <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> <img width="320" alt="Screenshot 2024-09-18 at 13 40 13" src="https://github.com/user-attachments/assets/cf06ac39-6ab7-46c9-af84-951efbb37fd1"> <img width="320" alt="Screenshot 2024-09-18 at 13 39 49" src="https://github.com/user-attachments/assets/15c8ff6b-6277-4f7f-b290-68adb21d845a"> <img width="320" alt="Screenshot 2024-09-18 at 13 37 13" src="https://github.com/user-attachments/assets/6d4e3500-972e-4196-8041-8a16436daaf7"> - [ ] 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. - [ ] 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/27250?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.
Configuration menu - View commit details
-
Copy full SHA for 29094e0 - Browse repository at this point
Copy the full SHA 29094e0View commit details
Commits on Sep 19, 2024
-
fix (cherry-pick): custom tracing in production builds (#27124) (#27265)
Cherry pick of #27124 for version 12.3.0.
Configuration menu - View commit details
-
Copy full SHA for 5e6d703 - Browse repository at this point
Copy the full SHA 5e6d703View commit details
Commits on Sep 20, 2024
-
fix: [cherrypick][V12.3.0] PermitSingle, PermitBatch, PermitTransferF…
…rom, PermitBatchTransferFrom simulation "Spending cap" (#27300) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Cherry-picks #26684 into V12.3.0 resolved conflicts: - permit-simulation (does not have static simulation yet) - tests + snaps (12.3.0 does not have useConfirmContext yet) <!-- 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/27300?quickstart=1) ## **Related issues** Fixes: #26591 (PermitSingle) Fixes: #26592 (PermitBatch) ## **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.
Configuration menu - View commit details
-
Copy full SHA for 3fde91a - Browse repository at this point
Copy the full SHA 3fde91aView commit details
Commits on Sep 23, 2024
-
cherry-pick: feat: Add experimental settings toggle for transactions …
…redesign (#26… (#27166) …010) Cherry-pick PR #26010 into Version-v12.3.0 <!-- 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/27166?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.
Configuration menu - View commit details
-
Copy full SHA for 4c4b5c7 - Browse repository at this point
Copy the full SHA 4c4b5c7View commit details -
fix: [cherrypick][V12.3.0] Redesign Signature Message date values (#2…
…7305) ## **Description** Cherry-pick #27249 for v12.3.0 Fix date values: - Formerly, conversations were converting values as if they were milliseconds. However, these values come from Solidity where these timestamps are unix timestamps in seconds. - Support -1 (no expiration) value - Display "expiry" as a date instead of a unix timestamp This PR fixes the conversion. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27249?quickstart=1) Fixes: #27137 1. Go to test-dapp 2. Request Permit or another TypedSign request 3. Observe deadlines and dates <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> <img width="320" src="https://github.com/user-attachments/assets/855fc4a5-5a1b-4575-bfda-40b5b6688fe3"> <img width="320" src="https://github.com/user-attachments/assets/0bc90b15-daa7-4537-9cd1-8727000899b2"> <img width="320" src="https://github.com/user-attachments/assets/e1beb4f9-2b41-4ef9-8190-8264d88c9ab0"> <img width="320" src="https://github.com/user-attachments/assets/edb4d259-29a3-4558-8858-e5b619c0ce18"> - [ ] 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. - [ ] 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.
Configuration menu - View commit details
-
Copy full SHA for e5a2159 - Browse repository at this point
Copy the full SHA e5a2159View commit details -
fix: cherry pick ledger confirm button fix into
12.3.0
(#27342)<!-- 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 cherry-picks #27331 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27342?quickstart=1) ## **Related issues** #27331 ## **Manual testing steps** Tested and approved by QA in original PR ## **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.
Configuration menu - View commit details
-
Copy full SHA for 080fd23 - Browse repository at this point
Copy the full SHA 080fd23View commit details
Commits on Sep 24, 2024
-
fix: cherry pick disable the confirm button when there is a blocking …
…alert fix into 12.3.0 (#27354) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR cherry-picks #27347 <!-- 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/27354?quickstart=1) ## **Related issues** Fixes: #27147 ## **Manual testing steps** Tested and approved by QA in original PR ## **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.
Configuration menu - View commit details
-
Copy full SHA for 24b5e1e - Browse repository at this point
Copy the full SHA 24b5e1eView commit details -
cherry-pick: Update package @blockaid/ppom_release to version 1.5.3 (#…
…27372) ## **Description** Update package @blockaid/ppom_release to version 1.5.3 ## **Related issues** Fixes: MetaMask/MetaMask-planning#3274 ## **Manual testing steps** NA ## **Screenshots/Recordings** NA ## **Pre-merge author checklist** - [X] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 66da9c3 - Browse repository at this point
Copy the full SHA 66da9c3View commit details -
fix: Don't show third party notice for preinstalled Snaps (#27365)
This cherry-picks commit 5cc14af into release 12.3.0. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27319?quickstart=1) ## **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.
Configuration menu - View commit details
-
Copy full SHA for 24f9828 - Browse repository at this point
Copy the full SHA 24f9828View commit details
Commits on Sep 25, 2024
-
fix (cherry-pick): incorrect method name parsed from transaction data (…
…#27363) (#27379) ## **Description** Cherry pick of #27363 for version 12.3.0. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27379?quickstart=1) ## **Related issues** ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [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.
Configuration menu - View commit details
-
Copy full SHA for 1c3f435 - Browse repository at this point
Copy the full SHA 1c3f435View commit details -
cherry-pick: remove methods from array used to determine which reques…
…ts should be enqueued because they can be safely passed through (#27315) (#27373) Fix issues that arise when a STX is initated in a dapp and subsequent method calls were being unnecessarily queued until the STX was complete. The following methods can be safely removed from the list of methods we use to determine whether a request should be queued or executed immediately: - 'wallet_addEthereumChain' - 'wallet_requestPermissions', - 'wallet_requestSnaps', - 'eth_decrypt', - 'eth_requestAccounts', - 'eth_getEncryptionPublicKey', [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27315?quickstart=1) Fixes: #27098 1. Make sure you have STX enabled from settings 2. Navigate to https://docs.metamask.io/wallet/reference/eth_sendtransaction/ 3. Connect the wallet and switch networks to Sepolia 4. Trigger a TX (call run request) 5. Confirm the transaction and see the STX pending screen 6. Go to test dapp 7. Click Connect --> this needs to happen while STX is pending 8. See that you are able to connect <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> https://github.com/user-attachments/assets/10be9a20-a22e-4be4-83f6-2bb66ad7a7fa `wallet_requestPermissions`: https://github.com/user-attachments/assets/a8ee940c-8d56-4107-8cb1-3683fd244cad `wallet_requestSnaps` https://github.com/user-attachments/assets/b4a57a14-8877-4081-82f6-99f2edc9e837 `eth_requestAccounts` https://github.com/user-attachments/assets/91958cc5-a006-43a4-b4db-37e4b22f07d1 `wallet_addEthereumChain` https://github.com/user-attachments/assets/23265cf1-3cfb-4e9c-9ea2-599d449d291e - [ ] 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. - [ ] 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/27373?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.
Configuration menu - View commit details
-
Copy full SHA for d0fb050 - Browse repository at this point
Copy the full SHA d0fb050View commit details -
Configuration menu - View commit details
-
Copy full SHA for b17fc84 - Browse repository at this point
Copy the full SHA b17fc84View commit details -
Configuration menu - View commit details
-
Copy full SHA for eca8bdb - Browse repository at this point
Copy the full SHA eca8bdbView commit details -
Merge pull request #27392 from MetaMask/v12.3.0-merge-master
Merge master into v12.3.0
Configuration menu - View commit details
-
Copy full SHA for f288384 - Browse repository at this point
Copy the full SHA f288384View commit details -
Update v12.3.0 Changelog (#27274)
## **Description** Adding changelog for v12.3.0 RC. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27274?quickstart=1) --------- Co-authored-by: Dan J Miller <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 318aaad - Browse repository at this point
Copy the full SHA 318aaadView commit details