-
Notifications
You must be signed in to change notification settings - Fork 5.2k
feat: 12.18.0 #32383
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
Open
DDDDDanica
wants to merge
191
commits into
master
Choose a base branch
from
Version-v12.18.0
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: 12.18.0 #32383
+28,439
−16,781
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
<!-- 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 there is no specific order for test network This PR is to adding a custom order with the follow rules - Sepolia go first, - then Linea Sepolia - then sort the rest of the test networks in alphabetical order <!-- 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/31827?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Open MetaMask Wallet 2. Go to network list 3. Switch on 'Show Test network' 4. The list of the network should display in above order ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="416" alt="image" src="https://github.com/user-attachments/assets/d695d021-c9e1-4f95-b2fe-3e2697ec7f14" /> <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> <img width="403" alt="image" src="https://github.com/user-attachments/assets/3160a19c-51a7-4f73-b104-d4612130348f" /> ## **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** Enables Multi-SRP in main Note that this [removes a code path](https://github.com/MetaMask/metamask-extension/pull/31832/files#diff-dfccaa8a06b45352de5d5a3aecb97bedc5831bf9161d7e6cb6294a90715dab87L313) in the account list menu, which is now unreachable. This is intentional, because the multi-SRP adds a new form which replaces that one. [](https://codespaces.new/MetaMask/metamask-extension/pull/31832?quickstart=1) ## **Related issues** Fixes: Multi-SRP epic ## **Manual testing steps** In a main build, you can see "Import secret recovery phrase" in the account menu ## **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/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: Patryk Łucka <[email protected]>
…1774) ## **Description** - It should be possible to disable account upgrade on account level - Address feedbacks from [PR](#31765) ## **Related issues** Fixes: MetaMask/MetaMask-planning#4612 ## **Manual testing steps** 1. Go to test dapp 2. Disable smart account update for an account of user 3. Change account and update for different account should be possible ## **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.
<!-- 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/31745?quickstart=1) This PR includes two small fixes for the accounts UI/UX, 1. The hidden account list gets out of sync with the `accounts-controller` state. The short term solution is to clear the list of hidden accounts, eventually the hidden and pinned accounts feature should be ported to the `accounts-controller`. 2. There's no scroll in the accounts list when the number of hidden accounts is too big. This change moves the hidden account component inside the hierarchy of the parent component with the scroll enabled ## **Related issues** Fixes: #30372 ## **Manual testing steps** 1. Onboard into MetaMask 2. Create +10 accounts of different types 3. Hide at least 10 accounts 4. Check that you can scroll the list when the hidden accounts list is expanded 5. Lock the wallet 6. Go via the "Forgot password" flow 7. Check that all accounts are visible (not hidden) ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** Check issue: #30372 ### **After** https://github.com/user-attachments/assets/23ce6566-dc8e-4234-8777-8a9a655f4933 https://github.com/user-attachments/assets/758d3120-4e6f-43f0-874d-2ebc18494e35 ## **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** When a chainId / networkClientId is available in a transaction, we should prioritise that over the chainId that is selected in a wallet. [](https://codespaces.new/MetaMask/metamask-extension/pull/31776?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. --------- Signed-off-by: dan437 <[email protected]>
…31564) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Create related functions and migrate following e2e tests files to Typescript and Page object modal. ``` test/e2e/tests/account/account-details.spec.js test/e2e/tests/account/incremental-security.spec.js ``` This PR is the final step in completing the migration of all e2e tests in `test/e2e/tests/account/` folder to POM [](https://codespaces.new/MetaMask/metamask-extension/pull/31396?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMQA-363 ## **Manual testing steps** Tests should pass and be robust ## **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/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: Marina Boboc <[email protected]>
## **Description** This PR implements [Solana Wallet Standard](https://github.com/anza-xyz/wallet-standard/) using script injection, enabling users use MetaMask on Solana dApps. The communication between the dApp and MetaMask uses the Multichain API. [](https://codespaces.new/MetaMask/metamask-extension/pull/31705?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Run `yarn` then `yarn start:flask` 2. If you already have a local Flask extension installed, then first uninstall it from chrome://extensions 3. Install the built flask build by loading `dist/chrome` and setup a Solana account 4. Go to any Solana Wallet Standard compatible app, such as [Wallet Standard Demo](https://anza-xyz.github.io/wallet-adapter/example/) or https://jup.ag/ 5. Connect with MetaMask 6. Try the features proposed by the dApp ## **Screenshots/Recordings** MetaMask icon is the first one (the 2nd being Solflare):  Connection modal:  When connected:  ## **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: Christian Montoya <[email protected]> Co-authored-by: Alex <[email protected]> Co-authored-by: jiexi <[email protected]>
## **Description** PR to trigger nft detection on account switch [](https://codespaces.new/MetaMask/metamask-extension/pull/31481?quickstart=1) ## **Related issues** Fixes: #28654 ## **Manual testing steps** 1. Click on account list menu 2. Switch to another account 3. You should see a call to detectNfts (nft-api) being triggered in networks tab when you are on ethereum or linea ## **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** Enables the clicking the connected status indicator to open the review permissions page when the currently selected network is non EVM. [](https://codespaces.new/MetaMask/metamask-extension/pull/31825?quickstart=1) ## **Related issues** Fixes: https://github.com/orgs/MetaMask/projects/146/views/6?pane=issue&itemId=105350449&issue=MetaMask%7CMetaMask-planning%7C4599 ## **Manual testing steps** 1. On dapp with permissions, open popup 2. Switch selected network to Solana Mainnet 3. See that the top right indicator is not disable and clicking it opens the review permission view ## **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.
…onents (#31582) <!-- 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** > Note the Remote Mode feature is still work-in-progress and currently behind the `vaultRemoteMode` feature flag so shouldn't accessible by users. <!-- 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 adds a the initial screens (and associated components) for enabling swaps and daily allowances as part of the upcoming remote mode feature - As highlighted earlier, this feature is still in progress and the screens and associated components are to provide the surface area for the actual feature + functional implementation. A number of elements are missing and will be added in separate PR's, including (although not limited to): - i18n - Refactors to the screens / components themselves [](https://codespaces.new/MetaMask/metamask-extension/pull/31582?quickstart=1) ## **Related issues** Fixes: [31451](#31451), [31452](https://github.com/orgs/MetaMask/projects/167?pane=issue&itemId=104376654&issue=MetaMask%7Cmetamask-extension%7C31452) ## **Manual testing steps** 1. Create the build (`yarn webpack`) 2. Go to `home.html#remote` and walk through the screens using the recording below for reference - Note to override the `vaultRemoteMode` feature flag (which will implicitly default to disabled), the configuration steps are available [here](https://github.com/MetaMask/contributor-docs/blob/main/docs/remote-feature-flags.md#a-local-build). Example`.manifest-overrides.json`: ```json { "_flags": { "remoteFeatureFlags": { "vaultRemoteMode": true } } } ``` 4. The components and screens can also be viewed in Storybook (`yarn storybook`) under the Vault namespace ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** NA ### **After** https://github.com/user-attachments/assets/1849de42-cdcd-419b-835b-482034c272ad ## **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? --> We are splitting this off from the RPC failover PR to unblock other controller upgrades. Additionally, we are pinning `controller-utils` to 11.7.0 [](https://codespaces.new/MetaMask/metamask-extension/pull/31711?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** There should be no functional changes, everything should work as-is. ## **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/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 <[email protected]> Co-authored-by: Stanley Yuen <[email protected]>
## **Description** Bump institutional snap version for release: [Snap changelog](https://github.com/MetaMask/snap-institutional-wallet/blob/main/packages/snap/CHANGELOG.md) Motivation: Largely, removing annoying logs so that the snap is a good citizen in production [](https://codespaces.new/MetaMask/metamask-extension/pull/31838?quickstart=1) ## **Related issues** None ## **Manual testing steps** None needed - no visible changes ## **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/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.
<!-- 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 better support for Solana Bridge transactions, allowing for users to see which steps are in progress or finalized. This required the inclusion of 2 custom UI components and a hook that maps the existing nonEVM transaction list in order to determine which of them are bridge originated, as it detects them as 'sends' initially. <!-- 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/31546?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMS-2110 & https://consensyssoftware.atlassian.net/browse/MMS-2162 (this bug is fixed with the improvements) ## **Manual testing steps** 1. With a Solana account, complete a bridge transaction. 2. Observe the transaction steps being displayed. 3. Other transaction types should remain unchanged. ## **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/0d21ee67-0e0a-4776-8e29-e4d1313dcfa7 <!-- [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/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** Fixes a bug introduced into 12.16.0 RC in this PR: MetaMask/metamask-mobile#14400 Bug was that users could enter into a state where they could send NFTs on a different network than they belonged on. This is because we are now showing NFTs across all chains that a user has NFTs on, rather than the constrained to the GNS currentChain. Users could enter into NFT send flow in two ways: 1. Via the NFT detail screen. We proactively change the network on the users behalf if they enter the send flow this way (press Send from the detail screen of a NFT from a different chain) 2. Via the Send button on the main NFT Grid view. This is where the bug was caught. When entering into the send flow in this way, users could enter into a state where they could accidentally send an NFT on a different chain than intended. View recording below to visualize this difference. This fix filters out NFTs in the second flow so that they only ever show NFTs from the globally selected chain. [](https://codespaces.new/MetaMask/metamask-extension/pull/31850?quickstart=1) ## **Related issues** Fixes: #31858 ## **Manual testing steps** 1. Add account with NFTs on a network 2. Enter into Send flow as specified in flow 2 3. NFTs should only be listed on network that they are on. ## **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/b35ec707-fe42-4212-8343-446a048758fc ### **After** https://github.com/user-attachments/assets/eafe05fd-9950-4446-b79e-0d5773e724d1 ## **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: Nicholas Gambino <[email protected]>
## **Description** Use the is native funtion from bridge [](https://codespaces.new/MetaMask/metamask-extension/pull/31554?quickstart=1) ## **Related issues** Fixes: mms-1799 ## **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** * Update Solana * Update keyring-api * Adding Interaction type of account for `Unknown` keyring type * Mapping through transactions and not through outputs which failed transactions didn't have Assuming there is only one `from` and `to` items on the transactions, we map now at the transaction level not on the asset level which simplifies logic. <!-- 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/31816?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Remove all your accounts 2. Start creating solana accounts 3. You should see the right formatting of transactions ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="404" alt="Screenshot 2025-04-09 at 11 04 50" src="https://github.com/user-attachments/assets/ec8755fb-1004-4cf1-827e-033c345159dd" /> <!-- [screenshots/recordings] --> ### **After** <img width="400" alt="Screenshot 2025-04-10 at 13 07 33" src="https://github.com/user-attachments/assets/b8baf4a2-5bba-410e-8c2f-ccbd0ef7cc6e" /> <!-- [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: Javier Garcia Vera <[email protected]>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** In this PR, we enable lint to the spec files ending with `*.spec.ts` extension. There are no functional changes, so skipping quality the e2e quality gate. Future Work: [apply lint to the other test files (like page objects)](#31853). This will be done in a separate PR, as it will again break lots of files, so it will become a very big PR [](https://codespaces.new/MetaMask/metamask-extension/pull/31834?quickstart=1) ## **Related issues** Fixes: #31852 ## **Manual testing steps** No functional changes 1. Check ci / github actions ## **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/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: chloeYue <[email protected]>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Use the DS Button component in `PageContainerFooter`. This impacts a couple of screens, including the Swaps footers. These changes are meant to be backwards compatible by mapping the previous types used to the DS variants and applying similar styling as the legacy buttons. The new DS button is slightly taller (48px instead of 45px), but some of the screens override this height anyway. Newer functionality such as `submitButtonIcon` is preserved, but some unused props are removed, e.g. `buttonSizeLarge`.  [](https://codespaces.new/MetaMask/metamask-extension/pull/31870?quickstart=1) ## **Screenshots/Recordings**   
<!-- 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 banner for the multi srp feature <!-- 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/31782?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to the account overview and scroll to see the new banner ## **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 is to add property to Account Added event, to understand how many users are using default account names. ## **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/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** Load preinstalled Snaps from JSON files instead of inlining them into the extension bundle. [](https://codespaces.new/MetaMask/metamask-extension/pull/31320?quickstart=1) ## **Related issues** Closes: MetaMask/snaps#3262 ## **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/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: Dario Anongba Varela <[email protected]> Co-authored-by: David Murdoch <[email protected]>
## **Description** Do not show unefined emoji if not available [](https://codespaces.new/MetaMask/metamask-extension/pull/31537?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go a failed transaction 2. select 10% gas increase ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="388" alt="Screenshot 2025-04-02 at 23 11 09" src="https://github.com/user-attachments/assets/0901669e-c611-404a-8ce6-ef691b8132fc" /> ### **After** <img width="367" alt="Screenshot 2025-04-02 at 23 54 18" src="https://github.com/user-attachments/assets/217150c6-2b38-4dbc-8ee4-468d43d0682c" /> ## **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** Extend sweepstakes end date and refactor [](https://codespaces.new/MetaMask/metamask-extension/pull/31900?quickstart=1) ## **Related issues** Fixes: [#31902](#31902) ## **Manual testing steps** 1. Go to this home screen - observe that the banner is shown between the dates `2025-04-09T00:00:00Z` and `2025-04-28T23:59:59Z` 2. Change dates with following command `sudo date -I 04302025` to automatically hide banner 3. Change date back using `sudo date -I 04112025` 4. Dismiss sweepstakes banner and observe that is isn't shown anymore 5. Change dates once again after the banner has been dismissed - observe that it is still dismissed ## **Screenshots/Recordings** NA ### **Before** NA ### **After** 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** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR adds 3 tests to the e2e automation script for Bridge - ERC20 -> NATIVE tx (unapproved) - NATIVE -> ERC20 tx - ERC20 -> ERC20 tx [](https://codespaces.new/MetaMask/metamask-extension/pull/31817?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** https://github.com/user-attachments/assets/98ba90ca-6fbe-4308-9eb9-6c9165022fbe ### **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/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 - [ ] 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.
<!-- 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 displays first party snap accounts in the srp account list. <!-- 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/31833?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMMULTISRP-160?atlOrigin=eyJpIjoiNzBiYTRmZDk1OWViNDY3NDk2MTE5YmNiYWE4NGU3NjUiLCJwIjoiaiJ9 ## **Manual testing steps** Using beta / flask. 1. Import an additional srp 2. Create a new solana account 3. Go to reveal secret recovery phrase in settings --> security 4. See the srp list and expand the accounts to see the newly created solana account there. ## **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/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: Gustavo Antunes <[email protected]>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Adds missing padding in Retry (Cancel/Speed up) popover [](https://codespaces.new/MetaMask/metamask-extension/pull/31904?quickstart=1) ## **Related issues** Fixes: #31903 ## **Manual testing steps** 1. Create failed transaction 2. Go to MM 3. Go to Activity 4. Click Failed transaction 5. Observe buttons ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before**  ### **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** <!-- 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 triggers Solana account discovery when importing an SRP and creates Solana accounts for all active addresses found. ## **Related issues** Fixes: ## **Manual testing steps** 1. Import SRP through onboarding or import SRP option in accounts menu 2. If Solana accounts have any activity, accounts should be added automatically ## **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/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: Charly Chevalier <[email protected]> Co-authored-by: MetaMask Bot <[email protected]>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** </tbody><!--EndFragment--> </body> </html> "_execute_browser_action" is no longer available in Chrome MV3, should use "_execute_action". but "_execute_action" doesn't work in Firefox(Firefox MV3 only support "_execute_browser_action" now). **Solution**: Add both "_execute_browser_action" and "_execute_action" in config file <!-- 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/31844?quickstart=1) ## **Related issues** Fixes: #31837 ## **Manual testing steps** 1. Install the extension in Chrome 2. Open Chrome and type Alt+Shift+M 3. Check if popup opend ## **Screenshots/Recordings** ### **After** Test in Chrome: https://github.com/user-attachments/assets/7bfc858f-7da1-4931-b100-c44e28dfee93 Test in Firefox: https://github.com/user-attachments/assets/32d6e330-c226-49b6-ae40-41ece5e509dd <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ## **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.
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? When updating, if the permissions haven't changed or there aren't more to show, the list will still render a see all permissions button. 2. What is the improvement/solution? Add an extra check to the conditional rendering. ## **Manual testing steps** 1. Build this branch 2. Navigate to the test snaps page and go through the update flow with the update snap. 3. Observe the results. ## **Screenshots/Recordings** ### **Before** https://github.com/user-attachments/assets/55b6366f-411b-4c0a-8bad-49e6743e6b0b ### **After** https://github.com/user-attachments/assets/af57d9e2-f70c-42e8-add7-b50eb532c0ea ## **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.
…31934) ## **Description** This PR fixes an issue where we tried to parse a CAIP Account ID from an invalid value. [](https://codespaces.new/MetaMask/metamask-extension/pull/31934?quickstart=1) ## **Related issues** Fixes: MetaMask/snaps#3318 ## **Manual testing steps** 1. Go to test snaps 2. Use the send form example snap 3. paste a URL ## **Screenshots/Recordings** ### **Before** https://github.com/user-attachments/assets/4b00780f-f7d6-462c-912f-49ccaafa566f ### **After** https://github.com/user-attachments/assets/34583809-ac13-495d-87cb-6b0a4e1ba562 ## **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.
…ick (#32439) <!-- 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. --> No matter the build, MetaMask Solana always announced itself with the same name. Now we’re using the build name. ## **Description** Cherry-pick: #32356 <!-- 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/32356?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#4770 ## **Manual testing steps** 1. Build MetaMask Snap 2. Go this page: https://metamask.github.io/test-dapp-solana/staging/ 3. Click on "Select Wallet" ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="431" alt="Screenshot 2025-04-28 at 19 04 30" src="https://github.com/user-attachments/assets/7685f879-19c6-4b9b-90e8-2a76e8aa426d" /> <img width="508" alt="Screenshot 2025-04-28 at 19 28 16" src="https://github.com/user-attachments/assets/6ee62ab8-f610-4c5f-b26c-1f623d4d6148" /> <img width="426" alt="Screenshot 2025-04-28 at 19 28 21" src="https://github.com/user-attachments/assets/be7daf25-08ef-4ba0-97a2-72a030daa4dd" /> <img width="391" alt="Screenshot 2025-04-28 at 19 29 12" src="https://github.com/user-attachments/assets/90fa8904-99e8-44b0-8ac1-a24585886f5e" /> <!-- [screenshots/recordings] --> ### **After** <img width="442" alt="Screenshot 2025-04-28 at 21 50 24" src="https://github.com/user-attachments/assets/238d185f-52c6-40e3-b05a-2e5407625236" /> <img width="386" alt="Screenshot 2025-04-28 at 21 55 59" src="https://github.com/user-attachments/assets/af46b25b-e778-4fd2-931e-88e3239ffa4e" /> <img width="406" alt="Screenshot 2025-04-28 at 21 56 03" src="https://github.com/user-attachments/assets/62652ddc-4763-44eb-bddc-aa308ca49df5" /> <img width="388" alt="Screenshot 2025-04-28 at 21 56 28" src="https://github.com/user-attachments/assets/3a437db3-06e4-4ca9-8d0c-9f5648f85dff" /> <!-- [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/32439?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: Edouard Bougon <[email protected]>
@metamaskbot update-attributions |
Attributions updated |
@SocketSecurity ignore |
Builds ready [50d3c15]
UI Startup Metrics (1230 ± 63 ms)
Benchmark value 111 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 27 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 1986 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1740 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1740 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 1714 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 3ms | Sum of p95 exceeds: 295ms Sum of all benchmark exceeds: 298ms |
@SocketSecurity ignore |
@SocketSecurity ignore-all |
…r cp-12.17.1 cp-12.18.0 (#32441) - fix: (cp-12.17.1) patch notification services controller (#32391) ## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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. [7a22dbc](7a22dbc) Co-authored-by: Prithpal Sooriya <[email protected]> Co-authored-by: Danica Shen <[email protected]>
…n all build types cp-12.18.0 cherry-pick (#32448) <!-- 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 #32419, #32351 <!-- 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/32448?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: Alex Donesky <[email protected]> Co-authored-by: jiexi <[email protected]>
@metamaskbot update-attributions |
Attributions updated |
…18.0 (#32449) - fix: remove unnecessary method call cp-12.18.0 (#32392) ## **Description** Issue: This method call was added to prepare for this [PR](#31223) but hasn't been merged yet and the underlying API has issues so we don't need it at all until its merged and the endpoint is fixed. Solution: Remove `getNetworksWithTransactionActivityByAccounts` for now until the PR is merged. This has no affect on the component/functionality [](https://codespaces.new/MetaMask/metamask-extension/pull/32392?quickstart=1) ## **Related issues** Related to: [4469](https://github.com/MetaMask/MetaMask-planning/issues/4469) ## **Manual testing steps** 1. No QA needed 2. 3. ## **Screenshots/Recordings** NA ### **Before** NA ### **After** 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** - [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. [1161ad6](1161ad6) Co-authored-by: Vince Howard <[email protected]> Co-authored-by: Danica Shen <[email protected]>
Builds ready [9384f43]
UI Startup Metrics (1189 ± 52 ms)
Sum of mean exceeds: 0ms | Sum of p95 exceeds: 80ms Sum of all benchmark exceeds: 80ms |
…d when switching account (#32464) - fix: cp-12.18.0 use correct networkClientId when switching account (#32359) ## **Description** Use correct networkClientId when switching account, currently it is using globalNetworkClientId ## **Related issues** Fixes: #32272 ## **Manual testing steps** 1. Go to extension 2. Change network to mainnet 3. Switch account type on sepolia - it should work as expected ## **Screenshots/Recordings** https://github.com/user-attachments/assets/f90d07e0-c3bb-4edc-9b62-a005f04d0240 ## **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. [aec0e93](aec0e93) Co-authored-by: Jyoti Puri <[email protected]>
…-12.18.0 (#32468) - fix: add try catch to _addSolanaAccount cp-12.18.0 (#32421) <!-- 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 adds a try catch to `_addSolanaAccount` to not block the onboarding flow if it fails. <!-- 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/32421?quickstart=1) ## **Related issues** Fixes: #32413 ## **Manual testing steps** 1. Go through IMPORT onboarding flow (until Your Wallet is ready screen) 2. Click Manager default privacy settings 3. Click General 4. Toggle off Basic Functionality 5. Go back to main screen 6. Click Done and continue to finish onboarding 7. See that you are able to go to the wallet overview. ## **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: Frederik Bolding <[email protected]> [be7e29f](be7e29f) Co-authored-by: Monte Lai <[email protected]> Co-authored-by: Frederik Bolding <[email protected]>
❌ API Spec Test Failed. View the report here. |
Builds ready [edc1419]
UI Startup Metrics (1243 ± 64 ms)
Benchmark value 1074 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1068 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore Sum of mean exceeds: 20ms | Sum of p95 exceeds: 2ms Sum of all benchmark exceeds: 22ms |
## **Description** Cherry-pick #32476 Any version under 5.0.1 has a vulnerability issue as per the `yarn audit`. This forces all packages to use the version 5.0.1 or higher. [](https://codespaces.new/MetaMask/metamask-extension/pull/32476?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/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/PR?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: Dario Anongba Varela <[email protected]>
@metamaskbot update-attributions |
Attributions updated |
…ectAllApprovals` utility (#32513) - fix: cp-12.18.0 Update reject data on `rejectAllApprovals` utility (#32466) <!-- 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 the unintentionally removed rejection data `cause` property back into `rejectAllApprovals` utility. [](https://codespaces.new/MetaMask/metamask-extension/pull/32466?quickstart=1) ## **Related issues** Fixes: #32162 ## **Manual testing steps** 1. Go to test-dapp 2. Trigger 3 transaction request back to back 3. Use reject all in the last one 4. Be able to trigger another transaction after "rejecting all" ## **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/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. [e8ca82b](e8ca82b) Co-authored-by: OGPoyraz <[email protected]> Co-authored-by: Danica Shen <[email protected]>
…" modal cp-12.18.0 (#32507) - fix: text flashing on Solana's "What's New" modal cp-12.18.0 (#32469) ## **Description** We were seeing text flashing when opening Solana's "What's New" modal. [](https://codespaces.new/MetaMask/metamask-extension/pull/32469?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Install the extension 2. Proceed through the onboarding picking whatever options 3. Confirm that the "What's New Modal" only shows "Create Solana Account" or "View Solana account" ## **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/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: Alejandro Garcia Anglada <[email protected]> [7fd1ad7](7fd1ad7) Co-authored-by: Ulisses Ferreira <[email protected]> Co-authored-by: Alejandro Garcia Anglada <[email protected]> Co-authored-by: Danica Shen <[email protected]>
… Cherry-pick (#32506) <!-- 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. --> Cherry-pick: #32364 - This pull request adds support for non-EVM to the asset historical prices chart. - It fetches non-EVM historical prices from the snap, on demand when user navigates to the asset page. - It refetches the historical prices every minute to keep the components up-to-date. - It uses dynamic time ranges for non-EVM, based on whatever intervals are returned by the snap and stored in `state.metamask.historicalPrices`. - It adapts the translations accordingly. - It refactors the code to standardize the format of time ranges into [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations). - It improves the empty states to match [the designs](https://www.figma.com/design/TfVzSMJA8KwpWX8TTWQ2iO/Asset-list-and-details?node-id=1979-85331&t=jr11GLodt6hfdqK3-0). - It carefully sets sizes of loading & empty states to ensure that the layout doesn't shift vertically when switching from one state to the other. - It reorganizes some code into 3 hooks (2 new ones and 1 existing one) `useHistoricalPrices.ts`, `useCurrentPrice.ts` and `useChartTimeRanges.ts` for improved encapsulation of logic. [](https://codespaces.new/MetaMask/metamask-extension/pull/32364?quickstart=1) Fixes: 1. Go to this page... 2. 3. - [ This recording](https://www.loom.com/share/13f2d490a5fc4522a706b3136b446b90) shows usage under normal conditions, switching across 2 accounts (Solana account and EVM account) and across various assets and time ranges. - [This recording](https://www.loom.com/share/bf47a1889c64459c962e2a804856e648) shows the 4 various states, that we've each mocked under its own time range to easily compare them: - tab `1D` shows state "loading with no previous data" - tab `1W` shows state "loading with previous data" - tab `1M` shows state "empty state" - tab `3M` shows state "has data" <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> <!-- [screenshots/recordings] --> <!-- [screenshots/recordings] --> - [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. - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that 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/32506?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: Xavier Brochard <[email protected]> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
extension-delivery
INVALID-PR-TEMPLATE
PR's body doesn't match template
team-extension-platform
Extension Platform team
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.
🚀 v12.18.0 Testing & Release Quality Process
Hi Team,
As part of our new MetaMask Release Quality Process, here’s a quick overview of the key processes, testing strategies, and milestones to ensure a smooth and high-quality deployment.
📋 Key Processes
Testing Strategy
Conduct regression and exploratory testing for your functional areas, including automated and manual tests for critical workflows.
Focus on exploratory testing across the wallet, prioritize high-impact areas, and triage any Sentry errors found during testing.
Validate new functionalities and provide feedback to support release monitoring.
GitHub Signoff
Issue Resolution
Cherry-Picking Criteria
🗓️ Timeline and Milestones
✅ Signoff Checklist
Each team is responsible for signing off via GitHub. Use the checkbox below to track signoff completion:
Team sign-off checklist
This process is a major step forward in ensuring release stability and quality. Let’s stay aligned and make this release a success! 🚀
Feel free to reach out if you have questions or need clarification.
Many thanks in advance
Reference