-
Couldn't load subscription status.
- Fork 5.4k
feat: 12.17.0 #31845
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
Merged
Merged
feat: 12.17.0 #31845
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## **Description** This PR implements the publishBatch hook for smart transactions, which will be used when submitting multiple transactions at once, e.g. when a user choose their gas token for a transaction. We can test this end to end once UI for the Transaction Confirmation page is merged. Then we might need to do some final tweaks if needed. [](https://codespaces.new/MetaMask/metamask-extension/pull/31267?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Once the UI on the Transaction Confirmation page is ready (e.g. when you do a Send transaction), you will be able to choose a gas token to be used for transaction fees ## **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/main/.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/main/.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: dan437 <80175477+dan437@users.noreply.github.com>
<!-- 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? --> Create selector for checking whether the `vaultRemoteMode` feature flag is enabled or not. This is the first PR for this project and, as such, we'd like all changes that follow to be hidden behind this flag, until we're ready to release. [](https://codespaces.new/MetaMask/metamask-extension/pull/31334?quickstart=1) ## **Related issues** Fixes: #31255 ## **Manual testing steps** 1. Go to a top app extension component 2. Add `const isRemoteModeEnabled = useSelector(getIsRemoteModeEnabled)` to the top of your component 3. Log result to confirm flag is working as expected. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <img width="679" alt="Screenshot 2025-03-26 at 12 48 40 PM" src="https://github.com/user-attachments/assets/1c1c1abe-d112-4a37-a35a-7ed61d7a07d0" /> ## **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/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-extension/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.
## **Description** Show toast message when changing gas fee tokens. Plus: - Temporarily disable support for future ETH flow. - Add missing unit tests for `GasFeeTokenIcon` and `GasFeeDetails`. [](https://codespaces.new/MetaMask/metamask-extension/pull/31338?quickstart=1) ## **Related issues** ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** <img width="353" alt="Toast" src="https://github.com/user-attachments/assets/bf4cbd7f-8dff-4600-aa3d-27295ffd89f6" /> ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? We often get tagged for codeowner reviews, it can sometimes be difficult to know what you're reviewing without looking at the CODEOWNER file yourself. It would be nice to know what you need to review upon just visting the PR link. 2. What is the improvement/solution? Added a new workflow to get the MetaMask bot to post a comment on the files that need a CODEOWNER review categorized by the respective team. The bot will post a comment and then update that comment as needed. It will also delete the comment if there is no longer a CODEOWNER review required. ## **Manual testing steps** 1. Open a PR against this branch 2. Make some codeowner file changes 3. Observe the MetaMask bot make a comment. ## **Screenshots/Recordings** ### **After** <img width="954" alt="Screenshot 2025-03-02 at 3 52 44 PM" src="https://github.com/user-attachments/assets/3d41e00e-5cd6-47aa-866a-187352bda140" /> ## **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/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-extension/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. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
<!-- 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 removes the BridgeController class and shared bridge utils from the extension repo, and replaces them with [@metamask/bridge-controller](https://www.npmjs.com/package/@metamask/bridge-controller) imports See [Copilot summary for more details](#31059 (review)) <!-- 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? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/31059?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Bridge and swap functionality for EVM and Solana should be unchanged, just updating imports ## **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/main/.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/main/.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.
…ltichain, permissions-connect, confirmations-page) (#31058) ## **Description** [](https://codespaces.new/MetaMask/metamask-extension/pull/31058?quickstart=1) Added consistent behavior various confirmation pages: - Responsive width - Responsive top and bottom padding - Box-shadow consistencies - Transition animation with padding - Border muted color to support border in dark-mode - Fixed various storybook pages Affected UI: - Send - Bridge - (width is the same fixed-width in this PR) - Multichain - Snaps - remove full width from various multichain pages - remove fixed 408px width on install page - fixed centered text in a couple of pages - expand full width and height to content missing css or with e.g. height: 100% that were not being applied since they needed flex: 1 0 auto - Redesigned Confirmations - SIWE - fixed right alignment - Fixed padding to prevent overlay with collapsable and copy icons - Old Confirmations including Add Network - remove full width Additionally: - Fixes extra shadow in Notification pages and potentially other multichain pages with multichain header logo Notes: - During this PR, the redesign colors were merged. Snapshots have outdated colors rather than the new blurple. - There are many combinations of UI. There's a good chance I've missed something. - Some UI still have inconsistencies: background colors, footer button styles, footer not stuck to bottom (Add Snap Account). These are out of scope. I fixed many while we're here but there are still many more. - Swaps page is unchanged <img width="120" src="https://github.com/user-attachments/assets/b2c41f63-c10d-4c20-a4ca-f14cfb5bad98"> - Encrypt and Decrypt pages are unchanged <img width="120" src="https://github.com/user-attachments/assets/5518f289-e905-415f-b145-870332954055"> ## **Related issues** Fixes: #27115 To address separately: - Add min-width 320px #31060 ## **Manual testing steps** Test various confirmations responsive (width) behavior ## **Screenshots/Recordings** I didn't add all the before and afters though here is many. Some screenshot colors are outdated after redesigned colors (including blurple) were merged to main. ### **Before Send Flow:** https://github.com/user-attachments/assets/29632e90-11f2-45ff-811a-9346a6021511 ### **After Send Flow with padding and transition:** (double scrollbar is out of scope) https://github.com/user-attachments/assets/d9af527b-a86d-4be8-a77e-1fb60a8f0fe3 ### **Before Snaps Install Flow:** https://github.com/user-attachments/assets/4eb10a24-8fc9-4ebb-a2f1-e1790fe942f6 ### **After Snaps Install Flow w/ padding and transition:** https://github.com/user-attachments/assets/3ecc8e8d-a4ef-4724-822a-e9c414745ae1 ### **Before Snaps Create Flow:** https://github.com/user-attachments/assets/2fa4285a-d5d7-413d-a955-8488354822f9 <img width="220" src="https://github.com/user-attachments/assets/05fb9f82-4aff-42b8-9ef1-f168bc9ce85a"> ### **After Snaps Create Flow:** https://github.com/user-attachments/assets/4f52c610-806a-4860-87a3-776b8574d03e ### **Before various Snap pages:** <img width="320" src="https://github.com/user-attachments/assets/b5e5c0df-52a8-4499-a13e-8e88665e5f7f"> <img width="220" src="https://github.com/user-attachments/assets/59bc9697-9fe1-4607-8072-ee4986d832d8"> <img width="220" src="https://github.com/user-attachments/assets/35b5a8b0-9f44-4687-96c5-228e73ae9e5c"> <img width="220" src="https://github.com/user-attachments/assets/932abc2b-0cfa-4931-8380-55cd7902b8e3"> <img width="220" src="https://github.com/user-attachments/assets/96068e81-b01d-4a32-9f6c-4cd5cc200bf6"> <img width="220" src="https://github.com/user-attachments/assets/d8a05769-276b-4729-b97e-23c796b7249a"> ### **After Snaps pages:** <img width="320" src="https://github.com/user-attachments/assets/1904e99d-abce-4d48-bc15-7a21c6d4dfca"> <img width="320" src="https://github.com/user-attachments/assets/257377e3-41c9-42ae-a4a2-59ca6e973f0c"> <img width="320" src="https://github.com/user-attachments/assets/ffb1e1cb-9432-40a8-8a7f-0ccf3e11754a"> <img width="320" src="https://github.com/user-attachments/assets/7c65d420-568c-4520-b372-32e42f914498"> <img width="320" src="https://github.com/user-attachments/assets/6baf1f8c-a1ef-40ac-8c0d-d48f8f54f4a8"> <img width="320" src="https://github.com/user-attachments/assets/9d94a2bb-f30b-41be-b456-bfb42b52d6c3"> <img width="320" src="https://github.com/user-attachments/assets/7357ead4-0c59-41fe-9f67-f383f7fb8c8c"> ### **Before Notifications Page shadow bug:** <img width="520" src="https://github.com/user-attachments/assets/175481dc-4540-4030-9985-979201a1c374"> <img width="520" src="https://github.com/user-attachments/assets/15d73ec4-dfc6-4f50-8481-6a464b65d55b"> ### **After Notifications Page:**  <img width="220" src="https://github.com/user-attachments/assets/aeba5a93-ead6-469f-bb4a-6d3c23c5073e"> <img width="520" src="https://github.com/user-attachments/assets/c6389892-c563-46ea-9dfe-1cfaaecbe22b"> ### **Before Permissions Connect:** Slight fix to allow Learn More to break into new line <img width="360" src="https://github.com/user-attachments/assets/bf7b69d0-c94c-4c94-95cc-d53de7651bbd"> ### **After Permissions Connect:** <img width="360" src="https://github.com/user-attachments/assets/7b31134d-3754-40a1-ba7c-9569139414ec"> ### **After Permissions Connect Wide Screen Dark-mode:**  ### **Before SIWE:** <img width="320" src="https://github.com/user-attachments/assets/1b390aac-9487-4de0-871c-9d76b4e6806a"> ### **Before SIWE with responsiveness added:**  ### **After SIWE:**  ### **Before Bridge:** <img width="520" src="https://github.com/user-attachments/assets/fd1088c1-c308-458f-a3ea-c21183ed223a"> ### **After Bridge:** <img width="520" src="https://github.com/user-attachments/assets/c0369bac-7267-4e6e-83a4-820f20febf43"> ### **Before Add Network:** <img width="520" src="https://github.com/user-attachments/assets/9704250e-d0f6-4948-8321-516299529f27"> ### **After Add Network:** <img width="520" src="https://github.com/user-attachments/assets/2020f02f-984e-4bba-bcee-677d80442813"> ### **Before storybook:** <img width="220" src="https://github.com/user-attachments/assets/3c54b0a2-dfc9-4209-a7ef-9b32e2b464bd"> <img width="220" src="https://github.com/user-attachments/assets/d6dea7f6-f02c-4105-a35f-1192bcd6bc1c"> <img width="220" src="https://github.com/user-attachments/assets/10b12d26-b7d0-4ea4-902c-14e19e538b73"> <img width="220" src="https://github.com/user-attachments/assets/2ca607ca-1e83-438f-926e-8be182889f30"> <img width="220" src="https://github.com/user-attachments/assets/75ed0172-e69d-46b8-9d40-506bd1fed224"> <img width="220" src="https://github.com/user-attachments/assets/bc0bfcaa-12e9-4f23-b7f7-45a8e5a472fe"> <img width="220" src="https://github.com/user-attachments/assets/a0322185-cb2f-4174-bc8e-e0fd57168242"> <img width="220" src="https://github.com/user-attachments/assets/b0c28430-8c7c-4b44-add6-cd45eadd91a2"> ### **After storybook:** <img width="220" src="https://github.com/user-attachments/assets/1c4f9f4a-e695-4fab-882b-3affe1ec3bc7"> <img width="220" src="https://github.com/user-attachments/assets/4e93be21-2c29-4b95-9bab-0993f6ad364b"> <img width="220" src="https://github.com/user-attachments/assets/d1c2e7de-20fd-44a6-bd03-6ccd54dcf6ad"> <img width="220" src="https://github.com/user-attachments/assets/17123d03-f9bf-49ce-98b4-f02848aef8e6"> <img width="220" src="https://github.com/user-attachments/assets/bf2494c9-767b-4ea8-8cd9-0fe8b8f25b20"> <img width="220" src="https://github.com/user-attachments/assets/f1ed47c1-5fa8-4174-9204-25f2fad0cd10"> <img width="220" src="https://github.com/user-attachments/assets/5428ff93-b99b-4c10-a63b-fc0f1cd45a23"> <img width="220" src="https://github.com/user-attachments/assets/76b29583-915a-4a25-adb0-064313e77bf1"> ## **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/main/.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/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Removes .add-non-evm-account-modal__footer background-color to allow its parent background-color with border-radius applied [](https://codespaces.new/MetaMask/metamask-extension/pull/31374?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**  ### **After**  ## **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/main/.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/main/.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.
…eate a Solana account and switch to another network` (#31382) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Fixes a race condition when we create a Solana account and immediately switch to Solana Mainnet network. The problem is that the account is not yet loaded when we perform the network switch, making the dialog for "you need a Solana accoun" to sometimes appear, and obfuscate the next action make the test fail with the error `ElementClickInterceptedError`:  Failure: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/134203/workflows/554e280c-2fa9-4dff-8652-0398b8ab80a0/jobs/4697627/tests [](https://codespaces.new/MetaMask/metamask-extension/pull/31382?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Check ci run with ff flask enabled: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/134219/workflows/52539bc9-bc6d-4d18-8fe6-fbdd51f48463/jobs/4697818  ## **Screenshots/Recordings** See dialog for "you need a Solana account" obfuscating the home page  ## **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/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-extension/blob/main/.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.
…ge` (#31383) <!-- 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 problem is that we are missing the fetch trades mock, and that request is redirected to the catch-all mock returning a 200 with empty data. Then, when the wallet tries to parse the data we get teh JSON error. This happens ocasionally if there's "time" for that request to happen and the wallet tries to parse the JSON response, within the test run.  Circle ci error: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/134207/workflows/69597d81-ae63-41b1-b655-50d85e31b59b/jobs/4697734/tests [](https://codespaces.new/MetaMask/metamask-extension/pull/31383?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Check ci run https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/134223/workflows/9c61c340-c4b3-49c8-8590-d1e2f783f124/jobs/4697845  ## **Screenshots/Recordings** See the error fetching quotes behind the modal, which makes the test fail due to the console error.  ## **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/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-extension/blob/main/.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.
…ge on tooltips` (#31384) <!-- 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 some of the change language specs, we change the language and immediately click the close settings button. This action can have no effect, if we click before the language is changes, as then there's a re-render and we are still in the settings page. We need to wait until the language has been changed before proceeding with the next action. For that, we add a check to make sure the language has changed, every time we perform a `changeLanguage` action.  ci failure: https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/134139/workflows/c284f602-6903-4a81-a0ac-48a05f987ee7/jobs/4696447/tests [](https://codespaces.new/MetaMask/metamask-extension/pull/31384?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Check ci ## **Screenshots/Recordings** See in the failure artifacts, how after clicking close settings, we still remain in the settings page. The click was performed but took no effect, as after that the page was re-rendered with the new language. Then we try to look for an element from the home page but that can't be found as we are still in settings  ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Fix support link in EIP-5792 cancal request modal. ## **Related issues** Fixes: MetaMask/MetaMask-planning#4526 ## **Manual testing steps** 1. Go to test-dapp 2. Submit EIP-5792 send call request 3. Press cancel button and check learn more link ## **Screenshots/Recordings** <img width="357" alt="Screenshot 2025-03-28 at 3 27 06 PM" src="https://github.com/user-attachments/assets/0566ca88-f24d-477c-a920-255af002ea04" /> ## **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/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-extension/blob/main/.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.
…#31242) ## **Description** Updating @metamask/user-operation-controller to version 31.0.0 ## **Related issues** Fixes: #31189 ## **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/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-extension/blob/main/.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 <metamaskbot@users.noreply.github.com>
<!-- 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 changes adds a `useAssetMetadata` hook that fetches asset details if it is not found in existing token lists. I've also added more unit test coverage for the asset-picker token filtering See [Copilot summary for more details](#31258 (review)) [](https://codespaces.new/MetaMask/metamask-extension/pull/31258?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMS-2094 ## **Manual testing steps** 1. Select solana as active network 2. Go to Bridge page 3. Get the address of a new pump.fun coin 4. Paste address into the asset picker's search bar 5. The token should appear on the list and be selectable 6. After filling out quote params, quotes should be fetched ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** No asset is shown <!-- [screenshots/recordings] --> ### **After** https://github.com/user-attachments/assets/e1cf7185-49f3-4b64-a31f-1232a19a995d <!-- [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/main/.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/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** - This PR is mainly refactoring based on the feedback in the [main PR](#31267) that was merged + it updates the STX controller to the latest version. [](https://codespaces.new/MetaMask/metamask-extension/pull/31401?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Have STX enabled 2. Be on Ethereum mainnet 3. Go to the Send feature 4. You will be able to choose your gas token if you have enough balance for it and its a supported token ## **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/main/.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/main/.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: dan437 <80175477+dan437@users.noreply.github.com>
…reopened (#31343) <!-- 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? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/31343?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMS-2147 ## **Manual testing steps** 1. Request a Bridge quote with src=native token 2. Close extension popup 3. Open popup again 4. Balance should be repopulated and token icons should be visible ## **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/main/.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/main/.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.
## Summary This pull request updates the Security Code Scanner by adding the `workflow_dispatch` trigger. This trigger allows for the Code Scanner to be manually triggered from your repository's `Action` tab. For further questions, please contact the MetaMask Security team.
## **Description** This PR resolves conflicting types between jest and mocha that were causing [issues with the type of "it"](https://github.com/search?q=org%3AMetaMask%20repo%3AMetaMask%2Fmetamask-extension%20it.each%20&type=code) in unit tests which were masking type errors. It also fixes type issues that were masked by previously disregarding type errors. In particular, this PR creates an [isolated TypeScript configuration for the e2e tests](https://github.com/MetaMask/metamask-extension/pull/31049/files#diff-bfc1581736f7b790e103572bf8e349eab3346aaa0d29b505f8f9707bfd603e7e) where they get their own type checking context. Since mocha is only needed in e2e tests, Mocha types will not be considered for files outside of that folder. <!-- 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? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/31049?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/main/.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/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** This reverts the changes made in #31058 because it breaks all the Snaps confirmations. [](https://codespaces.new/MetaMask/metamask-extension/pull/31391?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/main/.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/main/.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.
We don't use this code path, but just having this url appear in our extension bundle makes it looks like we could load code from an external source, something which is not permitted by extension web stores. To test: download the build (or build it yourself), extract it, search the source the code for `browser.sentry-cdn.com`. It should not exist. <!-- 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** [](https://codespaces.new/MetaMask/metamask-extension/pull/31360?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** ### **Before** ### **After** ## **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/main/.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/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. -->
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** After this PR was merged: #30709 all specs are now running in Anvil by default. In this PR I'm updating more old ganache references, to make them client agnostic. There are no functional changes in this PR, so we can skip the quality gate [](https://codespaces.new/MetaMask/metamask-extension/pull/31385?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Check ci -- everything should be working as before ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## Description
This PR updates the default font family across the MetaMask extension
from `Euclid Circular B` to `CentraNo1` to align with brand evolution
updates. The changes include:
1. Updating font family declarations in SCSS and component files from
'Euclid Circular B' to the design tokens
`--font-family-sans`('CentraNo1')
2. Simplifying text component styling by removing brand evolution
feature flag
3. Updating SVG text elements and third party components to use
CentraNo1 font family
The changes are part of the broader [brand evolution
initiative](https://consensys.slack.com/archives/C1L7H42BT/p1742922214475199)
to standardize typography across MetaMask products.
## Related issues
Fixes: MetaMask/MetaMask-planning#4408
## Manual testing steps
1. Build and load the extension
2. Ensure the font files load in the network tab
3. Navigate through various screens and verify text rendering
4. Verify that all text elements are using `CentraNo1` font family
5. Check that no visual regressions have been introduced
6. Pay special attention to:
- Headers and titles
- Body text
- Form inputs
## Screenshots/Recordings
### Before
Navigating around the extension with current Euclid Circular B font
family in expanded and popup view
https://github.com/user-attachments/assets/48cdd000-1762-47d2-90b3-ac37827add48
https://github.com/user-attachments/assets/6422da7e-c0a9-46b6-859e-2f391aa77830
Text component in storybook with curent Euclid Circular B font family
https://github.com/user-attachments/assets/6dc74c95-9857-4bb5-85d7-e610b60e746a
### After
Navigating around the extension with updated CentraNo1 font family in
expanded and popup view
https://github.com/user-attachments/assets/57c06242-5017-4356-8e5f-f7d399404408
https://github.com/user-attachments/assets/f0c8a71b-bc74-4768-a4f3-397c477157b1
Text component in storybook with updated CentraNo1 font family
https://github.com/user-attachments/assets/fee38240-3197-4b01-9a92-849398ab5926
No instances of Euclid left in codebase apart from mock e2e test urls
for `snap-account-abstraction-keyring`

## 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/main/.github/guidelines/CODING_GUIDELINES.md)
- [x] I've completed the PR template to the best of my ability
- [x] I've included tests (updated text component tests)
- [x] I've documented my code (updated SCSS comments and type
definitions)
- [x] I've applied the right labels on the PR
## Pre-merge reviewer checklist
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed)
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR modifies the tab colors to improve the visual hierarchy of the page. It adds a hover effect and animations to make the transitions smoother. ## **Related issues** None ## **Manual testing steps** 1. Open MetaMask 2. Hover and click on tabs ## **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/77cf3c03-1e07-4633-8df1-c472e9da8f8a ### **After** https://github.com/user-attachments/assets/3dd38f4d-3c8b-4a24-909b-2aabb8216366 ## **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/main/.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/main/.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: Nick Gambino <35090461+gambinish@users.noreply.github.com>
## **Description** We recently decided that we wanted to sort by token name, rather than symbol. The problem is that native tokens for several chains display `Ethereum` when in actuality the name we get from the token API is something like `Linea`. This would cause native tokens on some EVM chains to be miscategorized in sort. This PR overrides the token name for this scenario. It also consolidates the `name` and `title` fields to support both EVM and nonEVM chains. [](https://codespaces.new/MetaMask/metamask-extension/pull/31302?quickstart=1) ## **Related issues** Fixes: #31235 ## **Manual testing steps** 1. Please test on both flask and non flask builds. 2. EVM and Solana tokens should now be sorted by their display name (not symbol) 3. Check on both firefox and chrome ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** Before scenarios in bug ticket linked. ### **After** Chrome: <img width="360" alt="Screenshot 2025-03-25 at 12 58 45 PM" src="https://github.com/user-attachments/assets/b5262950-c649-47da-b18c-1b1daa9c5c01" /> <img width="1087" alt="Screenshot 2025-03-25 at 1 01 00 PM" src="https://github.com/user-attachments/assets/a818d72a-22fc-438a-981b-318dc8faedaa" /> Firefox: <img width="539" alt="Screenshot 2025-03-25 at 1 07 11 PM" src="https://github.com/user-attachments/assets/f6a2143d-c4a3-4d83-b0ca-bc943b6ba77f" /> ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- --> Updates the color of values from text-alternative to text-default. This allows users to focus on the information and improves consistency across pages. ## **Related issues** None ## **Manual testing steps** 1. Open MetaMask 2. Click on NFT Details ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="355" alt="Screenshot 2025-03-11 at 12 17 22 AM" src="https://github.com/user-attachments/assets/79db2057-7700-4fdc-8f4a-63b1ee621536" /> ### **After** <img width="353" alt="Screenshot 2025-03-11 at 12 19 28 AM" src="https://github.com/user-attachments/assets/05a3def1-53b9-42d5-9c45-1f622d94ede1" /> ## **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/main/.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/main/.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: Nick Gambino <35090461+gambinish@users.noreply.github.com>
) ## **Description** Prevent tab from opening upon every browser startup. A [recent PR](#29826) updated the logic for how we determine whether the extension was just installed or not; we used to check state, but now we use the `runtime.onInstalled` event instead to store a flag in session storage indicating whether the extension was just installed. Unfortunately this PR had a couple of bugs; the condition using this flag was accidentally reversed, and the read from session storage was never successful because of a race condition (the write had not finished yet). To address both problems, the logic for detecting first install was refactored to use a global variable instead of session storage. Globals can be accessed and written synchronously, preventing any possibility of a race condition. The solution was complicated by the fact that MV3 builds must add an `onInstalled` listener in the root service worker module, otherwise the listener is never called (we tested this experimentally). It was also unclear whether the listener would always run before or after the `background.js` script loading, and we need to trigger an action in `background.js` on install. But we've accounted for both possibilities in this solution. [](https://codespaces.new/MetaMask/metamask-extension/pull/31332?quickstart=1) ## **Related issues** Fixes: #30924 ## **Manual testing steps** * Create a production-like build (`yarn dist` and `yarn dist:mv2`), or download the builds from the `metamaskbot` comment * Test that the window opens only on first install, not on later browser restarts. ## **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/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] 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/main/.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.
…0970) <!-- 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 rare issue when a user, usually a developer, manually opens notification.html in a browser tab. We avoid using `browser.windows.remove(id)` to prevent closing all tabs in a window. [](https://codespaces.new/MetaMask/metamask-extension/pull/30970?quickstart=1) ## **Related issues** * Fixes: #29821 ## **Manual testing steps** Test that browser tab does not auto-close: 1. Open MM in a browser tab 2. Change url path from /home.html => /notification.html 3. Browser tab should stay open (previously the entire window was closed) Test that notification popup auto-closes: 4. Open notification popup by visiting a dapp and doing something (like connecting) that requires permission 5. Cancel/Decline the request in the notification popup 6. Notification popup should auto-close. ## **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/main/.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/main/.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.
…31254) …chitecture <!-- 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? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/31254?quickstart=1) ## **Related issues** refactor the token rates controller to modular init architecture 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/main/.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/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Fix balance change simulation of type-4 transactions by bumping `@metamask/transaction-controller` to `52.3.0`. [](https://codespaces.new/MetaMask/metamask-extension/pull/31335?quickstart=1) ## **Related issues** Fixes: [#4506](MetaMask/MetaMask-planning#4506) ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Add tests based on PR #30896 1. Add ETH to WETH swap 2. Add send swap ETH to WETH (removed the previous one) <!-- 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? 3. What is the improvement/solution? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/31278?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 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/main/.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/main/.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: dan437 <80175477+dan437@users.noreply.github.com> Co-authored-by: seaona <54408225+seaona@users.noreply.github.com> Co-authored-by: Jyoti Puri <jyotipuri@gmail.com> Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com> Co-authored-by: Micaela Estabillo <100321200+micaelae@users.noreply.github.com> Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com> Co-authored-by: MetaMask Bot <37885440+metamaskbot@users.noreply.github.com> Co-authored-by: Derek Brans <dbrans@gmail.com> Co-authored-by: Guillaume Roux <guillaumeroux123@gmail.com> Co-authored-by: David Murdoch <187813+davidmurdoch@users.noreply.github.com> Co-authored-by: George Marshall <george.marshall@consensys.net> Co-authored-by: Amanda Yeoh <147617420+amandaye0h@users.noreply.github.com> Co-authored-by: Nick Gambino <35090461+gambinish@users.noreply.github.com> Co-authored-by: Mark Stacey <mark.stacey@consensys.net>
## **Description** Ensures that we handle array images correctly be defaulting to their first image <!-- 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? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/30494?quickstart=1) ## **Related issues** Fixes: https://consensys.slack.com/archives/C8RSKCNCD/p1739984618053419 ## **Manual testing steps** 1. Use Flask Build > Enable Watched Accounts 2. Add watched address that owns this NFT: https://polygonscan.com/token/0x4b22c268e3f7f643686e0dfb160b40fe5328cccd?a=0x397d7171504776AD3d5f578ce772914539E28a49 (contract: `0x4b22C268E3f7f643686E0dfB160B40fE5328cccD`, TokenID: `6822`) 3. Select this watched address and navigate to NFT page. 4. Expect NFT to render - (expected image: `ipfs://bafybeidgklvljyifilhtrxzh77brgnhcy6s2wxoxqc2l73zr2nxlwuxfcy`) ## **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/main/.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/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
|
@metamaskbot update-attributions |
|
No attributions changes |
… `^21.0.4`(#32287) cp-12.17.0 (#32291) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Cherry-pick #32287 <!-- 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? --> Bumping `@metamask/keyring-controller` to `^21.0.4` ```markdown ## [21.0.4] ### Fixed - Ensure no duplicate accounts are persisted ([#5710](MetaMask/core#5710)) ``` [](https://codespaces.new/MetaMask/metamask-extension/pull/32287?quickstart=1) ## **Related issues** Fixes: #32097 ## **Manual testing steps** ### In order to test the fix, you first need a wallet bricked because of a duplicate account: - Checkout on the v12.16.0 release branch and build locally (a version with multi-srp support) - Import or create an SRP (I used `child guilt hollow arrive average popular nasty soon summer like scheme diary pill country rapid`) - Import an account that is part of the mnemonic (e.g. I used `0x80842b7e3cfb1118e86a427cdec418e3b4179ef5bbbfd71c02a76349831c8a8b` which is the account at index 2 of the above SRP) - Add a new account on the main HD - note that you'll be able to add the account, but (1) the account is the same as the imported one (expectable) and (2) the newly added account is wrongly labeled as "imported" - Lock the wallet - Unlock it with the right password - you will see the reported error: ``` Error: KeyringController - The account you are trying to import is a duplicate await in withLock submitPassword @ metamask-controller.js:4343 await in submitPassword (anonymous) @ createMetaRPCHandler.js:23 ``` ### Testing the fix - Without removing the extension from the browser, switch to this PR branch and build again - Visit [chrome://extensions/](chrome://extensions/) and reload the extension - Try to login again, you should be able to access the wallet again ## **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/main/.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/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/32291?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/main/.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/main/.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: Michele Esposito <34438276+mikesposito@users.noreply.github.com>
|
@metamaskbot update-attributions |
|
Attributions updated |
Builds ready [95864ba]
UI Startup Metrics (1208 ± 73 ms)
|
…oved networks (#32293) cp-12.17.0 (#32300) CP: #32293 <!-- 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 ensures we handle better native token display names when you bridge or swap tokens for networks you have removed or not added. [](https://codespaces.new/MetaMask/metamask-extension/pull/32293?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMS-2293 ## **Manual testing steps** 1. Add BASE network (if you have native tokens in base, otherwise use a different network you have native tokens for) 2. Try to bridge to BASE - you should see the native token 3. Remove BASE 4. Try to bridge to BASE - you should see the correct native token still displayed ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://www.loom.com/share/812617be0e6e4101b777ff56c367ce0a ### **After** https://www.loom.com/share/1df5613c2b274314b2839bc143a3cbad?sid=a7776357-eab8-473d-b2a6-2da71f3c4107 ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/32300?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/main/.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/main/.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: Prithpal Sooriya <prithpal.sooriya@gmail.com>
Builds ready [8e86618]
UI Startup Metrics (1216 ± 52 ms)
|
Chore/master sync 12.16.2
Builds ready [2621ca2]
UI Startup Metrics (1203 ± 57 ms)
|
DDDDDanica
approved these changes
Apr 29, 2025
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the release candidate for version 12.17.0. The changelog will be found in another PR chore/12.17.0-Changelog.
Team sign-off checklist
Reference