-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version v11.16.0 #24242
Version v11.16.0 #24242
Commits on Apr 12, 2024
-
fix: new-network button label colors are not readable in light mode (#…
…23988) <!-- 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 fixes the style of footer buttons in the new-network component so they are readable in both light and dark mode. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23988?quickstart=1) ## **Related issues** Fixes: [23725](#23725) ## **Manual testing steps** 1. Turn on dark mode setting in extension 2. Add a new network 3. Verify that "Got it" button text is black 4. Verify that "Learn to bridge" button text is blue 5. Verify that "Learn to bridge" button text is black on hover 6. Turn on light mode setting in extension 2. Add a new network 3. Verify that "Got it" button text is white 4. Verify that "Learn to bridge" button text is blue 5. Verify that "Learn to bridge" button text is white on hover ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** ![image](https://github.com/MetaMask/metamask-extension/assets/100321200/365fc1e7-e874-4bd6-aa12-3de97f0396d3) ### **After** <img width="341" alt="Screenshot 2024-04-11 at 10 59 23 AM" src="https://github.com/MetaMask/metamask-extension/assets/100321200/63f45351-3601-4ee7-9c5b-f74cb3fe3f85"> ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 25ae5a4 - Browse repository at this point
Copy the full SHA 25ae5a4View commit details
Commits on Apr 15, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ac9e13b - Browse repository at this point
Copy the full SHA ac9e13bView commit details -
fix: Updated avatar favicon props for single account disconnect toast (…
…#23935) This PR ensures that when a single account is disconnected from the Dapp via connections. It shouldn't break the page and disconnects smoothle ## **Related issues** Fixes: #23790 ## **Manual testing steps** 1. Run extension with Multichain flag 2. Connect a single account to uniswap 3. Go to connections page, click on disconnect account. 4. It should disconnect the account ## **Screenshots/Recordings** ### **Before** https://github.com/MetaMask/metamask-extension/assets/39872794/f4356be1-e6b8-4319-b2a0-be5439173fbe ### **After** https://github.com/MetaMask/metamask-extension/assets/39872794/779ababe-d6a2-4f9a-aca8-d09284dd4aee ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 833b601 - Browse repository at this point
Copy the full SHA 833b601View commit details -
fix: cache subject metadata for redirect (#23999)
<!-- 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** Caches subject metadata on the permission redirect screen, fixing the problem where the dapp icon would disappear while redirecting. Also fixes the centering on this icon as well as multiple other icons in the app. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23999?quickstart=1) ## **Manual testing steps** 1. Connect to any dapp 2. Notice the difference in the redirection screen ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/MetaMask/metamask-extension/assets/1561200/5b7a3ccc-47a8-4f95-932b-f544e998f331 ### **After** https://github.com/MetaMask/metamask-extension/assets/1561200/dc331711-388b-4d53-a869-e89618742119
Configuration menu - View commit details
-
Copy full SHA for 07de882 - Browse repository at this point
Copy the full SHA 07de882View commit details -
test: [Snaps E2E] add more snaps localization testing (#23796)
<!-- 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 checks for snap name localization to the snaps localization E2E test. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23796?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#1653 ## **Manual testing steps** 1. Run this as a single test locally. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 91d5d4e - Browse repository at this point
Copy the full SHA 91d5d4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 96d478a - Browse repository at this point
Copy the full SHA 96d478aView commit details -
test: [Snaps E2E] Create E2E test for UI links (#22739)
## **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 E2E test for UI links ## **Related issues** Fixes: #22425 ## **Manual testing steps** 1. This is an automated E2E test ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [ ] I've included screenshots/recordings if applicable - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [ ] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 2cde24c - Browse repository at this point
Copy the full SHA 2cde24cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f8b92ab - Browse repository at this point
Copy the full SHA f8b92abView commit details -
fix: checkmark icon missing after token import (#24005)
## **Description** After importing an erc20 token, the popup message was not rendering the checkmark icon. The icon is from font-awesome, and their CSS works fine. But when we add `@include design-system.H3`, it overrode the font-family, breaking the icon. Fixed by setting font size directly rather than bringing the whole H3. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24005?quickstart=1) ## **Related issues** ## **Manual testing steps** 1. Import an erc20 token, either manually or via autodetection 2. Verify the green popup message has a checkmark icon ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="349" alt="Screenshot 2024-04-12 at 10 58 57 AM" src="https://github.com/MetaMask/metamask-extension/assets/3500406/14878f22-b355-4eb5-97c6-feb317d8775f"> ### **After** <img width="354" alt="Screenshot 2024-04-12 at 12 00 30 PM" src="https://github.com/MetaMask/metamask-extension/assets/3500406/8bca68da-645c-44a1-b754-4e529070ae50"> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 4dc299e - Browse repository at this point
Copy the full SHA 4dc299eView commit details -
ci: update
github/codeql-action
to v3 (#23820)Update `github/codeql-action@v2` to v3 as v2 is deprecated.
Configuration menu - View commit details
-
Copy full SHA for 1004559 - Browse repository at this point
Copy the full SHA 1004559View commit details -
ci: update
actions/checkout
to v4 (#23822)Update `actions/checkout@v2` to v3 as v2 is deprecated.
Configuration menu - View commit details
-
Copy full SHA for 9c78339 - Browse repository at this point
Copy the full SHA 9c78339View commit details -
fix: issue where provider engine needs to rerun after permissions are…
… granted to ensure correct proxies are assigned (#23525) ## **Description** When the "Selected networks for each site" toggle is enabled, the wallet API should use an origin-specific chain for all interactions. However this doesn't work correctly if the connection status has changed since the last refresh. If you grant permissions to a site or revoke them (i.e. connect to or disconnect from a site), the site does not work as expected until after the site is refreshed. **Expected behavior** The wallet API should always use the dapp-selected chain for sites with permissions, and should use the globally-selected chain for sites without permissions. This should apply even if the permissions have changed since the page loaded. **Solution** This PR introduces [changes made to `@metamask/selected-network-controller`](https://github.com/MetaMask/core/blob/main/packages/selected-network-controller/CHANGELOG.md#changed) to resolve the issue described above: > Previously the SelectedNetworkController only constructed proxies for domains that had permissions. Other domains have no associated proxy and the getProviderAndBlockTracker method would throw an error. This was problematic because we grab the network client for an origin a single time when constructing an RPC pipeline for that origin in the MetaMask extension. We don't re-create the RPC pipeline when permissions change. That means that the pipeline is setup with the wrong network client and cannot be updated. The following changes ensure seamlessly proxying calls during sessions where a dapp connects/disconnects and provides a path for clients to prune inactive proxies. This domainProxyMap param now passed into `SelectedNetworkController` allows the client to handle pruning inactive proxies while the SelectedNetworkController handles adding entries - it can't handle removal, as it doesn't know which connections are active. The extension passes in an instance of a newly created `WeakStringMap` class which allows for garbage collection of its data once no longer referenced. ## **Related issues** Fixes: #23509 ## **Manual testing steps** The problem presented itself in two scenarios: when granting site permissions, and when revoking all site permissions. **When granting permissions:** - Enable the "Selected networks for each site" toggle - Open a site with no permissions in one tab, and the fullscreen wallet UI in another - If the site was open already, hard-refresh before proceeding - Call eth_requestAccounts on the site, asking for the eth_accounts permissions - Approve the request - Call eth_chainId from the site, and see that it matches the wallet selected chain - Switch the selected chain in the fullscreen UI - Call eth_chainId from the site, and see that it is still on the same chain the wallet was connected to before switching **When revoking permissions:** - Redo all the same steps for **When granting permissions:** - Open the browser-action popup, click on the three-vertical-dots menu, click "Connected sites", then disconnect from the site - Call eth_chainId from the site. See that the sites connected chain is now the same as the "globally selected chain" in the wallet ## **Screenshots/Recordings** ### **Before** This recording shows both reproduction use cases (granting permissions, then revoking) [queue-selected-chain-bug-2024-03-14_19.49.19.webm](https://github.com/MetaMask/metamask-extension/assets/2459287/092c0a9d-e734-4309-9455-d6444f7504ef) ### **After** https://github.com/MetaMask/metamask-extension/assets/34557516/62145d32-493b-41a2-ba8e-a1545ef1286a ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [x] I've included screenshots/recordings if applicable - [x]I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [x] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [ ] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for b1b8c08 - Browse repository at this point
Copy the full SHA b1b8c08View commit details -
build: remove
brfs
from build processes (#24000)The `brfs` package was used to transform calls to `fs.readFile*` into inlined files as strings during build/compilation. We no longer make use of `fs.readFile*` in our code, so the dependency is no longer required. While it doesn't cause issues to leave it, the package is slow as it must parse the contents into an AST and then statically analyze the tree looking for relevant calls to `fs.readFile*`. This overhead is unwanted, so I've removed it from our build process.
Configuration menu - View commit details
-
Copy full SHA for be3c4f2 - Browse repository at this point
Copy the full SHA be3c4f2View commit details
Commits on Apr 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f23f095 - Browse repository at this point
Copy the full SHA f23f095View commit details -
fix: updated connections page for connected data (#24022)
In the previous logic, we were using activeTabOrigin to get the subject MetaData to get the connected Dapp MetaData but it seems like there is another bug because of which metaData is not being fetched correctly. As a result, we are not able to get the connected Dapp Logo and connected status properly. In this PR, we are relying on getPermittedAccountsForCurrentTab to get the connected status and if the connected dapp metaData is not defined, we will rely on global icon rather than connected dapp icon ## **Related issues** Fixes: #23792 ## **Manual testing steps** 1. Run extension with Multichain Flag and connect it to dapp 2. If the dapp shows connected status, then the connection page should return the connected accounts 3. Test it with multiple Dapps ## **Screenshots/Recordings** ### **Before** Refer to the issue ### **After** https://github.com/MetaMask/metamask-extension/assets/39872794/4536a206-a4de-45e4-88ca-cdbaf92478bb ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 8f3270f - Browse repository at this point
Copy the full SHA 8f3270fView commit details -
fix: Updated selector for the test networks (#23986)
This PR is to ensure that the permissions page renders list of all the permissions with the current networks. For a few networks, we don't have the rpcPrefs that was causing the siteKey nd the rpcPrefs to be undefined. This PR also makes sure that the defined background color is there for the test networks that doesn't have a logo ## **Related issues** Fixes: #23812 #23793 ## **Manual testing steps** 1. Connect an account on Uniswap 2. Open the popup 3. Open the three-dot menu and choose "All Permissions" 4. It should render the permission with the accounts ## **Screenshots/Recordings** ### **Before** https://github.com/MetaMask/metamask-extension/assets/39872794/4fc1e04c-fde3-4905-a8b8-b16c75d9f7d1 ### **After** https://github.com/MetaMask/metamask-extension/assets/39872794/c56a60cb-24e6-4857-ac29-2539bb0f6645 ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 01a4d60 - Browse repository at this point
Copy the full SHA 01a4d60View commit details -
fix: fixed wallet view bugs for connections and permissions screen (#…
…24023) This PR is to fix the UI bugs in the wallet, permissions and connections screen to keep it in sync with the Updated designs ## **Description** Following changes are updated: 1. Description of the product tour for global menu [Note: This product tour will be removed] 2. Remove Connected dApp shown on Account List Item 3. Remove Connect account action in Select Account Modal ## **Related issues** Fixes: #23858 ## **Manual testing steps** This PR solves Part of the linked issue, rest of them are already resolved via different other PRs, Linking them in the list: 1. Description of the product tour for global menu - Modified in this PR 2. Connected sites and All Permissions in Global menu - [23789](#23789) 3. Remove Connected dApp shown on Account List Item - Modified in this PR 4. Connected Account Toast should only be displayed on Wallet screen - [23733](#23733) 5. Remove Connect account action in Select Account Modal - Modified in this PR 6. Network switching within Extension - This isssue doesn't exist anymore. 7. Button in Network switch Modal - Was related to Design System, fixed. ## **Screenshots/Recordings** ### **Before** Please refer to the issue ### **After** 1. This Product tour will be removed in a separate PR 2. No dapp logo on account list item even when it's connected ![Screenshot 2024-04-16 at 3 02 46 PM](https://github.com/MetaMask/metamask-extension/assets/39872794/01b443c4-cc84-43c2-84a9-da012935def5) 3. No connect button in account list item menu ![Screenshot 2024-04-16 at 3 03 23 PM](https://github.com/MetaMask/metamask-extension/assets/39872794/71b902af-00f7-4c09-9fa9-aefc37f7a3f1) ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for c1b2cbe - Browse repository at this point
Copy the full SHA c1b2cbeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3798950 - Browse repository at this point
Copy the full SHA 3798950View commit details -
feat: create Developer Options Setting Page (#22382)
## **Description** The "Developer Options" setting page will provide developers with additional controls and customization to assist with development and testing. This feature will enable developers to reset app states easily, toggle certain features on/off, and update configurations without needing to reinstall the app, accelerating developer velocity. To enable, add `ENABLE_SETTINGS_PAGE_DEV_OPTIONS=true` in .metamaskrc Developer Options Supported: - Reset Announcements/Notifications for What's New modal - Reset Onboarding states and redirects to second onboarding page ## **Related issues** Fixes: #23592 Blocked By: MetaMask/core#4088 ## **Manual testing steps** 1. `yarn install` to install the latest announcement-controller changes 2. go to `.metamaskrc` 3. paste `ENABLE_SETTINGS_PAGE_DEV_OPTIONS=true` 4. `yarn start` Test using test-dapp 1. open test-dapp 2. test with PPOM buttons --- 1. See chrome-extension://hbljfohiafgaaaabejngpgolnboohpaf/home.html#settings/developer-options ## **Screenshots/Recordings** #### New UI <img width="480" alt="Screenshot 2023-12-21 at 2 33 45 PM" src="https://github.com/MetaMask/metamask-extension/assets/20778143/6d6ebd6c-8564-4d4e-8dcf-d9197ad11e6b"> ![Screenshot 2023-12-22 at 1 58 28 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/cfec8e2e-5cf8-43ed-9096-af22901e4bd5) ![Screenshot 2023-12-22 at 1 59 40 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/70a11c03-735c-4f98-93e4-d8532c5aaea4) #### Announcements ![Screenshot 2024-03-17 at 8 13 41 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/be91edfa-ade3-4a37-b628-3c8c62b0d27c) #### Onboarding ![Screenshot 2024-03-17 at 8 13 56 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/ae36304a-db40-4a7a-bbf2-e979167ecf4c) ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've clearly explained what problem this PR is solving and how it is solved. - [ ] I've linked related issues - [ ] I've included manual testing steps - [ ] I've included screenshots/recordings if applicable - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [ ] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for d91e182 - Browse repository at this point
Copy the full SHA d91e182View commit details -
chore: MMI adds custodian icons (#23912)
<!-- 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 custodian logo to the top bar, at the left of the address and also in the accounts list: ![Screenshot 2024-04-09 at 15 12 26](https://github.com/MetaMask/metamask-extension/assets/1125631/c7edac43-ba34-41ca-935c-cbf37aedd1d6) ![Screenshot 2024-04-09 at 15 09 26](https://github.com/MetaMask/metamask-extension/assets/1125631/5a65d301-8954-4b7b-a1ad-a2ab1cfca386) ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 6ed9d04 - Browse repository at this point
Copy the full SHA 6ed9d04View commit details -
feat: Update UI / content for the Smart Transactions Opt In modal, re…
…naming (#24053) ## **Description** This PR includes a few small updates: - Updates UI / content for the Smart Transactions Opt In modal - Renaming to `Smart Transactions` - Small refactoring ## **Related issues** Fixes: ## **Manual testing steps** 1. Install the extension 2. See the updated Smart Transactions Opt In Modal ## **Screenshots/Recordings** Smart Transactions Opt In Modal: ![image](https://github.com/MetaMask/metamask-extension/assets/80175477/ffa978b6-8cde-4cad-be70-1242b135b8f9) ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 8c8f68f - Browse repository at this point
Copy the full SHA 8c8f68fView commit details -
fix: improve performance in account list and account connection compo…
…nents (#23933) ## **Description** Improves performance in the account list and "account connection" components by no longer leveraging `getAddressConnectedSubjectMap`. The selector in question is very computationally expensive to use and thus were causing performance problems for users with many accounts and many connected sites. This PR proposes using `getPermittedAccountsForCurrentTab` where possible and also introduces a memoized selector `isAccountConnectedToCurrentTab` that performantly can check for a given address. From local testing this seems to improve the experience. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23933?quickstart=1) ## **Related issues** Fixes #23913 --------- Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net>
Configuration menu - View commit details
-
Copy full SHA for d40321c - Browse repository at this point
Copy the full SHA d40321cView commit details -
fix: deprecating more networks (#23695)
## **Description** Deprecates Mumbai and linea goerli test networks. Users should see a deprecation warning when switching to those networks. Linea goerli is removed from the default network list. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23695?quickstart=1) ## **Related issues** ticket: https://consensyssoftware.atlassian.net/browse/MMASSETS-183 patch for controller-utils: https://github.com/MetaMask/metamask-extension/pull/23727/files ## **Manual testing steps** 1. Go to home page 2. Click on network selector, You should not see Linea testnet in the list. 3. Add Mumbai network to metamask 4. You should see deprecation warning ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** Linea goerli appears in the list of default networks <img width="1798" alt="Screenshot 2024-03-26 at 16 17 41" src="https://github.com/MetaMask/metamask-extension/assets/10994169/d82e3cba-4c6b-4546-9612-9dabf0b32b5b"> ### **After** In this video initially the user is on Linea goerli (i am on develop branch), the user makes a few transactions on linea goerli, then i switch to this branch so the migration runs, and notice that the user has switeched to linea-sepolia. Linea goerli is removed from the default networks tab. When the user adds linea-goerli using chainlist, he sees the deprecation warning and his transactions. https://github.com/MetaMask/metamask-extension/assets/10994169/3ffd6a63-6bb0-4ea3-85ab-c31b8317cfd6 This short video shows the deprecation warning when we switch to Mumbai network https://github.com/MetaMask/metamask-extension/assets/10994169/496a9433-0547-4475-8320-39b1c5d01e2e ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 257e9f9 - Browse repository at this point
Copy the full SHA 257e9f9View commit details -
fix: token rates controller start / stop logic (#24021)
## **Description** Problem: Users reporting missing fiat prices for some erc20 tokens, even when price setting is on: <img width="357" alt="Screenshot 2024-03-14 at 2 35 41 PM" src="https://github.com/MetaMask/metamask-extension/assets/3500406/711cfa40-7387-43df-9981-9ed52973b5b4"> Diagnosis: (1) The `TokenRatesController` gets stopped when metamask is closed. But it is not started again when metamask re-opens, preventing any future token price updates. (2) If you have metamask installed but you never open/unlock it (within a browser session), the `TokenRatesController` is still polling in the background every 3 minutes. The fix for both is to start the controller in `triggerNetworkrequests` instead of on construction. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24021?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Restore a wallet where multiple accounts have erc20 tokens 2. Enable token autodetection 4. Visit the first account with tokens, verify their prices 5. Close metamask 6. Re-open metamask 7. Visit the second account 8. Verify its tokens have prices ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for e322bc8 - Browse repository at this point
Copy the full SHA e322bc8View commit details -
chore: bump snaps packages (#23957)
## **Description** Bump snaps packages to latest and handle breaking changes. Summary of changes in the snaps deps: - Improve encryption performance by caching encryption keys - Remove access to `on` and `removeListener` on the `ethereum` object for Snaps - This functionality was already broken - Fixed a problem where unencrypted state would not be deleted when uninstalling a Snap - Allow form state to be null when triggering `onUserInput` - Fixed over-eager link validation being triggered on non-links - Add derivation path for Nimiq
Configuration menu - View commit details
-
Copy full SHA for 62a8bd2 - Browse repository at this point
Copy the full SHA 62a8bd2View commit details -
ci(actions): update
amannn/action-semantic-pull-request
to v5.4.0 (#……23819) Update `amannn/action-semantic-pull-request@v5.2.0` to v5.4.0 as v5.2.0 is deprecated.
Configuration menu - View commit details
-
Copy full SHA for 670f2e1 - Browse repository at this point
Copy the full SHA 670f2e1View commit details
Commits on Apr 17, 2024
-
fix(labeling guidelines): Add definition of regression-develop label (#…
…23855) ## **Description** - New definition added to labelling guidelines: `regression-develop`. - Same PR on Mobile repo: MetaMask/metamask-mobile#9142 ## **Related issues** - Fixes: None ## **Manual testing steps** - None ## **Screenshots/Recordings** - Preview available here: https://github.com/MetaMask/metamask-extension/blob/08c910cf750017d0bf586a28578dbfad8d6599c1/.github/guidelines/LABELING_GUIDELINES.md ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 8560878 - Browse repository at this point
Copy the full SHA 8560878View commit details -
feat: prevent pasting of Snap name during Snap removal (#23993)
## **Description** The confirmation to remove a snap that has accounts present in the keyring, requires that the user type the snap name to confirm removal. However, the user can just copy and paste the name of the snap being removed. This PR disables the ability to paste the name. ## **Related issues** Fixes: [21445](#21445) ## **Manual testing steps** 1. Create a new snap account 2. Go to settings and click on snap 3. Click on the snap and then remove snap 4. Click continue on the modal 5. Try to copy and paste the snap name in the input. 6. See that the input remains empty. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Daniel Rocha <daniel.rocha@consensys.net>
Configuration menu - View commit details
-
Copy full SHA for f0494a1 - Browse repository at this point
Copy the full SHA f0494a1View commit details -
chore: adds GH action for MMI (#23778)
## **Description** Creates a GH action to automatically notify MMI team members in order to have immediate visibility of what’s to come and test/review. Meaning, it will automatically notify us to our extension slack channel, when a PR with the "team-mmi" tag is merged to develop. ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: David Murdoch <187813+davidmurdoch@users.noreply.github.com> Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 48a7969 - Browse repository at this point
Copy the full SHA 48a7969View commit details -
feat: improve blockaid error/warning copy (#24037)
## **Description** We should update content for: when ppom returns warning as response [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24037?quickstart=1) ## **Related issues** Fixes: [#1758](https://github.com/MetaMask/MetaMask-planning/issues/1758) ## **Manual testing steps** 1. Add this custom network: https://base.drpc.org with chainId 8453 2. Trigger a transaction from the test dapp -- see error 3. For warning, you can edit the code to return a warning alert response and see the warning. ## **Screenshots/Recordings** ### **Before** <img width="353" alt="Screenshot 2024-04-15 at 22 37 08" src="https://github.com/MetaMask/metamask-extension/assets/44811/2572b1a5-233d-4e7e-83c3-5ea92faef362"> ### **After** <img width="337" alt="Screenshot 2024-04-15 at 22 36 21" src="https://github.com/MetaMask/metamask-extension/assets/44811/1e4ec760-3714-4a91-9e5b-e39784887354"> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for b373f16 - Browse repository at this point
Copy the full SHA b373f16View commit details -
fix: Gas Estimation failure displays 2 duplicated Warnings (#23886)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23886?quickstart=1) When there is a gas estimation failure, show only one gas warning on the confirmation screen. If the user proceeds to continue, show the gas component. ## **Related issues** Fixes: #17866 ## **Manual testing steps** 1. Go to etherscan https://etherscan.io/address/0xe592427a0aece92de3edee1f18e0157c05861564/advanced#writeContract 2. Connect your MM acount 3. Click selfPermit 4. Fill it with values (0x, 0x for r and s) 5. Click Write 6. Should not see duplicated warnings ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/MetaMask/metamask-extension/assets/29962968/9fbee4e0-866b-4031-906e-ba2519163b3d ### **After** https://github.com/MetaMask/metamask-extension/assets/29962968/c9e54305-e03f-42b0-923f-f8e4c641ab69 ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 9a7c113 - Browse repository at this point
Copy the full SHA 9a7c113View commit details -
refactor: Extract
BlockaidUnavailableBannerAlert
component (#24045)<!-- 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** Refactors the banner alert logic by extracting it to a separate component. No user-facing functionality changes. The e2e tests in `test/e2e/tests/ppom/migrate-opensea-to-blockaid-banner.spec.js` ensure no regressions. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24045?quickstart=1) ## **Related issues** Fixes: #23906 ## **Manual testing steps** 1. Checkout the extension on a commit prior to #23546 (for example, `112b155d59`) 2. Build the app and open metamask 3. Select security alerts by open sea <img width="577" alt="Screenshot 2024-03-27 at 11 01 38" src="https://github.com/MetaMask/metamask-extension/assets/13814744/7f732e93-d772-432a-85b5-87c95ccbdc53"> 4. Checkout this branch, build and reload on the managing extensions page 5. Switch to Linea Goerli, or another network that is not currently supported by blockaid 6. Open the testdApp and trigger a new confirmation 7. The Banner Alert should show up ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for e129408 - Browse repository at this point
Copy the full SHA e129408View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ba6cd4 - Browse repository at this point
Copy the full SHA 3ba6cd4View commit details -
feat: Show simulation details on the Smart Transactions status page f…
…or native balance changes (#24075) ## **Description** Show simulation details on the Smart Transactions status page for native balance changes, e.g. when using the Send feature. This PR also includes a class name fix. ## **Related issues** Fixes: ## **Manual testing steps** 1. Enable Smart Transactions 2. Try to use the Send feature on Sepolia testnet 3. See that it shows the Simulation Details section on the Smart Transactions status page ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for abc2295 - Browse repository at this point
Copy the full SHA abc2295View commit details -
chore: updates mmi package to latest version (#24073)
<!-- 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 MMI package version: rpc-allowlist ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 1134d5f - Browse repository at this point
Copy the full SHA 1134d5fView commit details -
fix(mv3): fix file paths passed to
app-init.js
(#24059)## **Description** Prior to this PR, the extension is stuck in a loading state when create an mv3 dev build and attempt to load it. This error can be seen in the console: ![Screenshot from 2024-04-16 12-23-35](https://github.com/MetaMask/metamask-extension/assets/7499938/0bb7fb5d-fdf4-4604-b045-a41011d6966b) The problem was introduced in #23672 That PR has the following in the description: > ...The manifest file sometimes references files using a path relative to both the repo and the bundled extension (background.html and popup.html) and sometimes it doesn't (inpage.js lives in the scripts folder). > This PR makes the paths relative to the repo (and the bundled extension). The problem is with the file paths passed to `importScripts` in `app-init.js`. The docs for for `importScripts` say that the path parameter is `A string value representing the URL of the script to be imported. The URL may be absolute or relative. If the URL is relative, it is relative to the HTML document's base URL.` Prior to this PR, the file paths were not "relative to the HTML document's base URL". This PR corrects that. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24059?quickstart=1) ## **Related issues** Fixes MetaMask/MetaMask-planning#2374. ## **Manual testing steps** 1. `yarn start:mv3` 2. Install the extension 3. You should be able to open and use the extension UI ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 387216c - Browse repository at this point
Copy the full SHA 387216cView commit details -
fix(mv3): use correct file paths in mv3 test builds (#24060)
## **Description** Prior to this PR, `yarn start:test:mv3` would fail. The error was: ![Screenshot from 2024-04-16 13-33-01](https://github.com/MetaMask/metamask-extension/assets/7499938/faec8f91-282d-4aea-a89b-dee6dbc5b3e0) The problem was introduced in #23672 That PR has the following in the description: ...The manifest file sometimes references files using a path relative to both the repo and the bundled extension (background.html and popup.html) and sometimes it doesn't (inpage.js lives in the scripts folder). This PR makes the paths relative to the repo (and the bundled extension). The problem is that there were two instances of the file paths that were not updated. Those instances only applied to mv3 test builds. This PR updates those instances. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24060?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2378 ## **Manual testing steps** 1. `yarn start:test:mv3` should successfully create a build ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 915aa5b - Browse repository at this point
Copy the full SHA 915aa5bView commit details -
fix: Intl.NumberFormat locale RangeError related to Simulation Details (
#24068) ## **Description** **Problem:** The locale returned by `getCurrentLocale` is not meant to be used with the [Intl API](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl). **To fix this, this PR will:** * Rename `getCurrentLocale` => `getLocaleNotSafeForIntl` to alert developers in the future. * Add `getIntlLocale` which converts the locale returned from `getLocaleNotSafeForIntl` into a BCP 47 Language Tag which can be used with the Intl API. * Add tests to ensure that `getIntlLocale` works with all our locales going forward. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24068?quickstart=1) ## **Related issues** Fixes: #24067 ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 15fc955 - Browse repository at this point
Copy the full SHA 15fc955View commit details -
fix: replace last usages of legacy gas fee polling with polling by ne…
…tworkClientId (#24065) <!-- 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** #23010 made initial changes to replace the GasFeeController's legacy gas fee polling in favor of polling via networkClientId. It was discovered that there are still lingering instances of the legacy gas fee polling which were causing double polling to occur since the legacy and networkClientId based polling run on separate loops. This PR fixes this by replacing those remaining legacy gas fee polling usages. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24065?quickstart=1) ## **Related issues** Fixes: #23010 ## **Manual testing steps** 1. Open background console -> Network tab 2. Open Extension Popup -> send -> enter address and amount -> next 3. Background console network tab should now start showing one single network request every 10s to the gas api endpoint ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Alex <adonesky@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 5f67907 - Browse repository at this point
Copy the full SHA 5f67907View commit details -
Zb/update queued request controller (#24061)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR updates the queued request controller to version 0.8.0 - which includes fixes for request queue flushing. See [here for more details](https://github.com/MetaMask/core/blob/main/packages/queued-request-controller/CHANGELOG.md#080) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24061?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** Scenario 1: 1. from dapp 1, call switchEthereumChain, minimize the confirmation 1. from dapp 2, call sendTransaction, minimize the confirmation 1. from dapp 1, call sendTransaction 1. accept the first switchEthereumChain dialog 1. reject the sendTransaction for dapp 2 1. there should be no remaining confirmations. Scenario 2: 1. from a dapp, call sendTransaction, minimize the confirmation 1. from the same dapp, call wallet_revokePermissions 1. the confirmation should be cleared (i.e. you should not have any pending confirmations) ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: Alex Donesky <adonesky@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for c90eab7 - Browse repository at this point
Copy the full SHA c90eab7View commit details -
fix: Fix back navigation from connected accounts (#24085)
<!-- 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** When clicking the Back button on Connected accounts, the navigation should take to the previous screen, and not to Metamask's home page [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24084?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to Connections page 2. When clicking back, it should take you to the previous screen, not to MetaMask's home ## **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/MetaMask/metamask-extension/assets/11148144/674f7aa7-972f-4c73-bd50-dffaad6a7c07 ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for d5facf9 - Browse repository at this point
Copy the full SHA d5facf9View commit details -
fix: Deduplicate accounts in
addMorePermittedAccounts()
(#24057)The `addMorePermittedAccounts()` background API method is used to manually connect multiple accounts at once to an unconnected dapp. While we do not currently permit the possibility of passing already-permitted accounts to this method, it is inappropriate for a permissions-related method to include no defensive measures against being sent bad data. Consequently, this PR ensures that accounts added via `addMorePermittedAccounts()` are deduplicated, and the method ignores any already-permitted accounts, returning early if no unpermitted accounts are added. Also adds tests for the method, which was previously completely untested.
Configuration menu - View commit details
-
Copy full SHA for 1aab1f8 - Browse repository at this point
Copy the full SHA 1aab1f8View commit details -
test: [E2E] edit account name (#23712)
## **Description** Adds e2e coverage for editing the account name, where there was previously none. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23712?quickstart=1) ## **Related issues** Fixes: [313](MetaMask/accounts-planning#313) ## **Manual testing steps** 1. `yarn test:e2e:single test/e2e/accounts/account-custom-name.spec.ts --browser=chrome --debug --leave-running` and `yarn test:e2e:single test/e2e/accounts/account-custom-name.spec.ts --browser=firefox --debug --leave-running` ## **Screenshots/Recordings** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 8003830 - Browse repository at this point
Copy the full SHA 8003830View commit details -
fix(deps): @solana/web3.js 1.91.6 (#24094)
<!-- 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 CVE-2024-30253 / GHSA-8m45-2rjm-j347 and failing deps-audit CI job. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24094?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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for b1cbcfa - Browse repository at this point
Copy the full SHA b1cbcfaView commit details
Commits on Apr 18, 2024
-
fix: updated connections page to use getPermittedAccountsForSelectedT…
…ab (#24092) Since SubjectMetadata is not reliable, to get the connected status we updated the code in this PR [24022](#24022) to use getPermittedAccountsForCurrentTab to get the connected accounts, but this is always dependent on activeTabOrigin and to access it based on the different permissions we are updating it to use getPermittedAccountsForSelectedTab ## **Related issues** Fixes: #24066 ## **Manual testing steps** 1. Run extension with Multichain 2. Go to Permissions Page after connecting extension with different dapps 3. Check the accounts are listed on connections Page ## **Screenshots/Recordings** ### **Before** https://github.com/MetaMask/metamask-extension/assets/39872794/3f6995a0-e8c0-4506-83af-5c1256ad8f84 ### **After** https://github.com/MetaMask/metamask-extension/assets/39872794/536d75c6-c0dd-4906-b339-e95cddfe926d ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for af2647e - Browse repository at this point
Copy the full SHA af2647eView commit details -
fix: fix migration 105 to recover from undefined selected address (#2…
…3974) ## **Description** This pull request fixes the selectedAddress migration issue where the selectedAddress is not a string when migrating to internal accounts. In this broken state, the first identity would then be used for the `selectedInternalAccount` and `selectedAddress` ## **Related issues** Fixes: [383](MetaMask/accounts-planning#383) ## **Manual testing steps** 1 . Comment out all the migrations from 105 and onwards. 2. Reinstall the extension and create 2 accounts, and select the second account. Dump the metamask state and see that the second account is the selectedAddress 3. In migration 105, force the selectedAddress to be undefined. 4. Uncomment the migrations 5. Restart the extension, see that the selectedAddress is now the first account ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for b12c5d3 - Browse repository at this point
Copy the full SHA b12c5d3View commit details -
feat: Removed product tour from home page (#24051)
This PR is to remove product tour from home page ## **Related issues** Fixes: #24058 ## **Manual testing steps** 1. Install fresh extension dev build 2. switch to popup view 3. Check there is no product tour on homepage ## **Screenshots/Recordings** ### **Before** https://github.com/MetaMask/metamask-extension/assets/39872794/4fbcec7d-5644-4d04-bda6-2ffaedeb1b97 ### **After** https://github.com/MetaMask/metamask-extension/assets/39872794/008c4707-1ecc-4686-882d-2daa9e3a3bdf ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 0b2b202 - Browse repository at this point
Copy the full SHA 0b2b202View commit details -
fix: Prevent HD keyring from being removed (#24096)
## **Description** A patch has been added for the `@metamask/keyring-controller` package that will prevent the HD keyring from being removed. This is a precautionary change, see MetaMask/mobile-planning#1507 for additional details. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24096?quickstart=1) ## **Related issues** This is a port of this PR: MetaMask/core#4168 Here is the same patch on mobile: MetaMask/metamask-mobile#9092 ## **Manual testing steps** This is a precaution against a bug that probably does not exist. We don't have reproduction steps. However, here are some use cases related to this area of code, which we can test to ensure nothing has broken: * Lock and unlock the wallet * Restart the extension then unlock it again * Add a new account, lock the wallet, restart the extension, then check to ensure the new account is still present. ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for e6428f8 - Browse repository at this point
Copy the full SHA e6428f8View commit details -
ci: add
create-cherry-pick-pr
github action (#24074)<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR adds a github action for creating cherry pick commits, similarly as Mobile does. With this action we can pass the following arguments: - target branch to merge the cherry-pick - commit to cherry-pick - PR # associated with the cherry-pick Reference: this PR is based on Seth's PR for Mobile MetaMask/metamask-mobile@7e68812 You can see how this works in Mobile: 1. Go to https://github.com/MetaMask/metamask-mobile/actions/workflows/create-cherry-pick-pr.yml 2. Click Run Workflow 3. Add the target RC branch, the commit to cherry-pick and the PR number 4. You'll get a new branch with the cherry-pick (example of cherry-pick from the github action [here](MetaMask/metamask-mobile#9265)) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** Once this is merged, we'll be able to trigger the Cherry Pick Commit action: ![Screenshot from 2024-04-17 10-17-16](https://github.com/MetaMask/metamask-extension/assets/54408225/16d048d5-63a3-4f5e-a37c-f425b5c35bd5) ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for c45bc6b - Browse repository at this point
Copy the full SHA c45bc6bView commit details -
fix: Disable button in case all accounts are connected (#24084)
<!-- 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** When there are no accounts to connect the Connect more accounts button on the screen should be disabled rather than showing an empty modal [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24084?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to Connections page 2. After connecting all accounts, try adding more, the button to Connect more accounts should be disabled ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <img width="362" alt="Screenshot 2024-04-17 at 16 28 15" src="https://github.com/MetaMask/metamask-extension/assets/11148144/07678250-3e3d-4485-9f46-ce144aa92835"> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: NidhiKJha <menidhikjha@gmail.com> Co-authored-by: David Walsh <davidwalsh83@gmail.com> Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net>
Configuration menu - View commit details
-
Copy full SHA for 1cf139e - Browse repository at this point
Copy the full SHA 1cf139eView commit details -
chore: bump-metamask-controllers-util-to-9.1.0 (#24107)
<!-- 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** Bumps controller-utils to latest controller-utils [v9.1.0](https://github.com/MetaMask/core/blob/main/packages/controller-utils/CHANGELOG.md#910) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24107?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2278 Relates to: https://github.com/MetaMask/core/pull/4153/files ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 02a3892 - Browse repository at this point
Copy the full SHA 02a3892View commit details -
chore: MMI adds SRP screen during onboarding (#24080)
<!-- 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 MMI we want to add this "reminder" screen during onboarding in order for the user to check/view his seed phrase and be aware of it, when creates a new account. ![Screenshot 2024-04-17 at 15 26 38](https://github.com/MetaMask/metamask-extension/assets/1125631/815d2acf-3b37-4bf6-b51c-c78c2c78f173) ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 5a48751 - Browse repository at this point
Copy the full SHA 5a48751View commit details -
fix: Use cached version of 'chrome' in app-init.js (#24103)
## **Description** When loading a prod mv3 build, we observed that a majority of the time, the offscreen document would not be created. In those case, we saw the following error in the service worker console: ``` runtime-lavamoat.js:13190 Uncaught Error: LavaMoat - property "chrome" of globalThis is inaccessible under scuttling mode. To learn more visit LavaMoat/LavaMoat#360. at Object.get (runtime-lavamoat.js:13190:11) at app-init.js:1:1766 get @ runtime-lavamoat.js:13190 (anonymous) @ app-init.js:1 ``` Which comes from this code in `app-init.js`: ``` async function createOffscreen() { if (await chrome.offscreen.hasDocument()) { return; } await chrome.offscreen.createDocument({ url: './offscreen.html', reasons: ['IFRAME_SCRIPTING'], justification: 'Used for Hardware Wallet and Snaps scripts to communicate with the extension.', }); console.debug('Offscreen iframe loaded'); } ``` The solution is to cache a version of chrome before it has been scuttled. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24103?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. `yarn dist:mv3` 2. Install at chrome://extensions 3. A second or so after the service worker is created, the offscreen document should be created. 4. Reload the extension 10 times, the offscreen document should be created every time ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for d130cde - Browse repository at this point
Copy the full SHA d130cdeView commit details -
fix: simulation details should show fiat values for most erc20 tokens (…
…#24086) ## **Description** Previously, SimulationDetails only showed fiat rates for erc20 tokens that were already in the user's wallet. With this PR, SimulationDetails component will fetch the token fiat rates for all erc20 tokens involved in a transaction simulation. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24086?quickstart=1) ## **Related issues** Fixes:MetaMask/MetaMask-planning#2361 ## **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** ![image](https://github.com/MetaMask/metamask-extension/assets/507015/35cbb7f0-47a9-488e-9ae5-df8e80a11f3b) ### **After** ![image](https://github.com/MetaMask/metamask-extension/assets/507015/13d12bb3-2d23-4982-91d1-d39d3b66b03a) ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 50310db - Browse repository at this point
Copy the full SHA 50310dbView commit details -
chore: replace static hex with design tokens in toggle button (#24090)
## **Description** This PR focuses on aligning the `ToggleButton` component with our design system, specifically by removing static hex color values and replacing them with design token-aligned theme classnames. The motivation behind this change is to enhance the consistency and maintainability of our UI components, ensuring they adhere to the established design principles and facilitate easier theming and updates. By leveraging design tokens for color definitions, we also aim to improve accessibility and ensure a cohesive visual experience across the MetaMask extension. [Component in extension](https://metamask.github.io/metamask-storybook/?path=/docs/components-ui-togglebutton--docs) <img width="284" alt="Screenshot 2024-04-17 at 10 02 37 AM" src="https://github.com/MetaMask/metamask-extension/assets/8112138/650d8e56-8ece-4f4e-8744-a7ef7f472693"><img width="276" alt="Screenshot 2024-04-17 at 10 02 35 AM" src="https://github.com/MetaMask/metamask-extension/assets/8112138/b8e67505-31c1-461b-9da8-b33ce29d5e38"> <img width="219" alt="Screenshot 2024-04-17 at 10 06 48 AM" src="https://github.com/MetaMask/metamask-extension/assets/8112138/a52507f9-3696-451f-94d8-9575564aea1b"><img width="212" alt="Screenshot 2024-04-17 at 10 06 51 AM" src="https://github.com/MetaMask/metamask-extension/assets/8112138/ee7c1923-f5e7-4601-887d-16ed020b0014"> [Component in Figma](https://www.figma.com/file/HKpPKij9V3TpsyMV1TpV7C/DS-Components?type=design&node-id=3336%3A19056&mode=dev) <img src="https://github.com/MetaMask/metamask-extension/assets/8112138/4e248649-2be0-43e4-958c-39a47a4371a1" width="300" /><img src="https://github.com/MetaMask/metamask-extension/assets/8112138/92eb0f88-5a85-4beb-8bdb-75189e41608d" width="300" /> <img src="https://github.com/MetaMask/metamask-extension/assets/8112138/c039de9d-3d99-40a0-aaa0-e6dac15ecbcd" width="300" /><img src="https://github.com/MetaMask/metamask-extension/assets/8112138/b430887f-fc9c-4e5f-8dc8-d490676f47c3" width="300" /> ## **Related issues** Related: #20154 ## **Manual testing steps** To ensure the successful integration of design token colors in the `ToggleButton`: 1. In storybook navigate to the `ToggleButton` or in the extension go to "Settings > Advanced Settings" 2. Toggle the button to observe its active and inactive states. 3. Verify that the colors used in both states align with the design system's color palette and that there are no visual regressions. ## **Screenshots/Recordings** ### **Before** Storybook before changes https://github.com/MetaMask/metamask-extension/assets/8112138/94f0ec77-7b94-4b70-ba7c-f9968ad7efca App before changes https://github.com/MetaMask/metamask-extension/assets/8112138/4d9e51c9-d72d-45ce-8798-c1106abd3c76 ### **After** Storybook after changes https://github.com/MetaMask/metamask-extension/assets/8112138/4b904020-356a-40c3-9b86-fe38a586d2dd App after changes https://github.com/MetaMask/metamask-extension/assets/8112138/b20f68a4-9764-43b1-ac9c-ef43f5720bd6 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability. - [x] I’ve included tests if applicable. - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable. - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g., pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for d11f03b - Browse repository at this point
Copy the full SHA d11f03bView commit details -
fix: remove identities and use internal accounts (#23597)
## **Description** Currently on the extension, both the preferences controller and the accounts controller are being used concurrently, as part of the migration, the identities will be removed in favour of internal accounts. This PR removes the references of identities from the UI of the extension and replaces it with `InternalAccounts` as part of the migration to the usage of InternalAccounts from the AccountsController. ## **Related issues** Fixes: [334](MetaMask/accounts-planning#334) ## **Manual testing steps** 1. Add new accounts and check the state of the extension if the new account is selected. 2. Switch accounts and check the state of the extension if the new account is selected. 3. Rename accounts and check if the name in the InternalAccount has been changed. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [] I've included screenshots/recordings if applicable - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [ ] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 553327c - Browse repository at this point
Copy the full SHA 553327cView commit details -
fix(offscreen): Fix error loading offscreen document in prod (#24083)
## **Description** There was an error with the offscreen document, thus all snaps and hardware wallets, in production mv3 builds because of some strange interaction with loading the offscreen document with an iframe already attached to it. In addition this seems to have hidden some policy issues which this PR also resolves. The solution was to load the iframe dynamically instead of having it as part of the offscreen.html file. This is the same thing that snaps does and I Have validated that ledger and snaps both work in this branch using `yarn dist:mv3` [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24083?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Pull this branch 2. run `yarn` 3. run `yarn dist:mv3` 4. Install the built extension and go to https://metamask.github.io/snaps/test-snaps/2.4.0/ 5. Install a snap and validate that it works. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for a40f06f - Browse repository at this point
Copy the full SHA a40f06fView commit details -
fix: simulation erc20 decimals error (#24116)
## **Description** Previously the simulation code assumed that `getTokenStandardAndDetails` returns undefined when it cannot determine the decimals for a contract. This PR surrounds the call to `getTokenStandardAndDetails` in a try / catch and, if it fails, returns the default ERC20 decimals. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24116?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2388 ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for e83d28b - Browse repository at this point
Copy the full SHA e83d28bView commit details -
feat: set token autodetection to true for new … (#23700)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** we aim to enable the tokens and NFT Auto-Detect features by default for all new users on mobile . This enhancement will automatically populate users' wallets with relevant tokens and NFTs without requiring manual setup. ## **Related issues** Fixes: ## **Manual testing steps** 1. Install a fresh app 2. go to the NFTs tab 3. you should see the list of your NFTs 4. you should see the list of your tokens ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 9b38cf5 - Browse repository at this point
Copy the full SHA 9b38cf5View commit details
Commits on Apr 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6f847f0 - Browse repository at this point
Copy the full SHA 6f847f0View commit details -
fix: regex in stripOneLayerofNesting (#23372)
## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23372?quickstart=1) ## **Related issues** Fixes: Inefficient regex ## **Manual testing steps** tests should pass ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [x] I've included screenshots/recordings if applicable - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [x] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [x] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 4ffb752 - Browse repository at this point
Copy the full SHA 4ffb752View commit details -
feat: set default 4337 entrypoint in flask (#24124)
## **Description** This PR adds a default value for the `EIP_4337_ENTRYPOINT` in flask ## **Related issues** ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for ef982c4 - Browse repository at this point
Copy the full SHA ef982c4View commit details -
fix: ensure ppom works on mv3 builds (#24115)
## **Description** This PR fixes ppom/blockaid on mv3 builds. There were two separate problems to fix: 1. The content_security_policy in the manifest needed to be updated to include `'wasm-unsafe-eval'`, as is done in the MV2 manifest. 2. The `input = fetch(input);` call in `__wbg_init` in `app/scripts/lib/ppom/ppom.js` was being called with the file path `./ppom_bg.wasm`. However, `app-init.js` has recently been moved inside of the `scripts` directory within the build (i.e. within the dist and build directories), so the path to fetch, from within the mv3 service worker, would have to be `../ppom_bg.wasm`. The fix is to move the ppom_bg.wasm file into the `scripts` directory as well, when building for mv3. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24115?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2377 ## **Manual testing steps** 1. `yarn dist:mv3` 2. Install with an account that has enough mainnet eth to send a transaction (you don't actually need to send one, you just need to create one and can then reject it) 3. Go to https://metamask.github.io/test-dapp/ 4. Connect and then click "Malicious Eth Transfer" 5. You should see a blockaid warning ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 7953710 - Browse repository at this point
Copy the full SHA 7953710View commit details -
fix: add patch for fetching tokenURI for ERC404 (#24029)
## **Description** We have been contacted about an NFT on linea mainnet that was not showing properly on MM. There is this core PR that has been merged to fix fetch behavior for ERC404: MetaMask/core#4136 This PR adds a patch for the core fix. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24029?quickstart=1) ## **Related issues** Fixes: Related: MetaMask/core#4136 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-extension/assets/10994169/cea457c3-87f2-4157-9efb-2ebc69176ac0 ### **After** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-extension/assets/10994169/783d4292-c2c0-4ea9-9c7d-59dde88b4b3d ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for af50f46 - Browse repository at this point
Copy the full SHA af50f46View commit details -
feat: Confirmation redesign - Remove the scheme ("https://","http://"…
…) from the InfoRowUrl value (#24105) ## **Description** Remove the scheme ("https://","http://") from the InfoRowUrl value. If the URL displayed is "HTTP" it is shown as a label to the left of the text value. There is no need to display the scheme of the URL text value. Figma: https://www.figma.com/file/7kYok9B46ohR6h47cksRAz/Confirmation-redesign-V1?type=design&node-id=1735-8556&mode=design&t=6PRcdkYIuz1RF6ek-0 Storybook Prod: https://metamask.github.io/metamask-storybook/?path=/docs/components-app-confirm-inforowurl--docs [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24105?quickstart=1) ## **Related issues** Fixes: #23968 ## **Manual testing steps** 1. Enable conf redesign in .metamaskrc (ENABLE_CONFIRMATION_REDESIGN=1) 2. Run metamask 3. Open an http url 4. Type the code below in the console 5. You should see the HTTP label 6. Open testdapp and click on Personal Sign 7. You should not see the HTTP label ``` ethereum.request({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }], }); const msg = "Hello World".toString('hex'); const from = [the connected account] ethereum.request({ method: 'personal_sign', params: [msg, from, 'Example password'], }); ``` ## **Screenshots/Recordings** ### **Before** <img width="365" alt="Screenshot 2024-04-18 at 11 08 12" src="https://github.com/MetaMask/metamask-extension/assets/44811/ff054fb6-4700-4e4b-84ac-51b4de752d46"> ### **After** <img width="363" alt="Screenshot 2024-04-18 at 11 14 27" src="https://github.com/MetaMask/metamask-extension/assets/44811/5b0c0885-eba3-4ac3-8507-31d1f47d1c8d"> <img width="365" alt="Screenshot 2024-04-18 at 11 15 00" src="https://github.com/MetaMask/metamask-extension/assets/44811/9e7c72aa-b310-4021-b5f5-d5a4b0eb3085"> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 834e0c8 - Browse repository at this point
Copy the full SHA 834e0c8View commit details -
fix: Updated the script to generate commits in the release (#23914)
## **Description** This PR is to updated the existing script to generate commits in the release. I enhanced author attribution list, tagged labels with release version, and filtered out specific commit message like 'Changelog' or 'Merge pull request' or 'master-sync' . [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23914?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** Provide your github token in the development/generate-rc-commits.js Provide the below command in the terminal and the cvs file is generated node development/generate-rc-commits.js origin/Version-v11.14.0 origin/Version-v11.13.0 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for e1beee1 - Browse repository at this point
Copy the full SHA e1beee1View commit details -
feat: display layer 1 gas fees on scroll network (#23991)
Update the `TransactionController` to automatically populate the `layer1GasFee` when creating transactions on Scroll networks. Remove the knowledge of layer 2 networks from the UI by replacing conditional rendering via the `getIsMultiLayerFeeNetwork` selector, with simply checking for the presence of a layer 1 gas fee in the `TransactionMeta` or from the action.
Configuration menu - View commit details
-
Copy full SHA for b3750d4 - Browse repository at this point
Copy the full SHA b3750d4View commit details -
feat: add Signature Redesign "Account Details Opened" event (#24095)
<!-- 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 "Account Details Opened" event when Account Info Icon in Confirmation Redesign is clicked Internal Thread https://consensys.slack.com/archives/C03ETQA9EPK/p1710437328642929 Event Description https://www.notion.so/Account-Details-Opened-3deec398d4784bcea00b012cdf1cde03?pvs=4 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24095?quickstart=1) ## **Related issues** Fixes: #23555 ## **Manual testing steps** 1. set ` ENABLE_CONFIRMATION_REDESIGN=true` in .metamaskrc 2. Turn on MetaMetrics in settings 3. Use test-dapp to test feature in a signature confirmation ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 15ad0b2 - Browse repository at this point
Copy the full SHA 15ad0b2View commit details -
test: UX: Multichain: Add E2E for RPC queueing UI (#24070)
## **Description** This PR adds a test for the Multichain RPC queueing, ensuring that the per-dapp network preference properly changes the global network [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24070?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#1779 ## **Manual testing steps** 1. N/A, this is an E2E, it should just pass ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** N/A ### **After** N/A ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for e0ecf74 - Browse repository at this point
Copy the full SHA e0ecf74View commit details -
test: add scenario 'Cancel transaction by sending subsequent transact…
…ion with the same nonce' (#23872) <!-- 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 add the scenario for the flow 'Cancel transaction by sending subsequent transaction with the same nonce'. This task belongs to the effort of documenting manual QA flows in this [Epic](#21962). User flow summary: - create 'Send' transaction nonce with very low gas fees - send the next transaction with the 0 value and previous nonce to yourself to cancel the first transaction - validate that the first transaction is cancelled [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23872?quickstart=1) ## **Related issues** Fixes: [23830](#23830) ## **Manual testing steps** 1. Verify that the test steps align with the sequence in the video. 2. You can find rendered table [here](https://github.com/MetaMask/metamask-extension/blob/57c1f2861fc70a00da97d1c778fd66ddf774e7ae/test/scenarios/3.%20transactions/cancel%20transaction%20using%20same%20nonce.csv). ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> https://github.com/MetaMask/metamask-extension/assets/104780023/efc7e4bf-d946-4735-bd90-d21556d487b3 ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 45d8425 - Browse repository at this point
Copy the full SHA 45d8425View commit details -
feat: Change RPC Method Middleware default rate limit to random sampl…
…ing and add global rate limit (#23257) ## **Description** The existing rate limit system in the RPC Method Tracking Middleware was created with the goal of determining which RPC methods were no longer used (i.e. when can we drop eth_sign). This is not random sampling. Currently by default, any methods not explicitly listed are rate limited. This means that for the unlisted methods (i.e. non eth_sign), we also will only record the first usage every 5 minutes. This biases our dataset by under representing the most used methods and over representing the least used. Our goal is to get broad insights, for which we are not 100% sure what we want to determine yet. This requires random sampling. It may make more sense (and be more accurate!) to use Math.random() as a rate limiter that does not bias by the individual method. This PR achieves that by adding a new random sample rate which is used by default instead of timeout based rate limiting in the RPC method tracking middleware. We also want to make sure we don't track more events that we do with our current rate limiting strategy. To address that, I have added an additional global rate limit (shared across all methods) that applies after the first rate limit strategy. Finally, we add `eth_chainId`, `eth_accounts`, and `metamask_logWeb3ShimUsage` to the blocked list which are noisy events that provide us no valuable insights. These 3 events make up about half our tracked rpc method events. ## **Related issues** Fixes: MetaMask/MetaMask-planning#2168 ## **Manual testing steps** Testing rate sampling 1. Opt into MetaMetrics in the wallet settings 1. Open your the background console for extension 1. Add a breakpoint for trackEvent inside `createRPCMethodTrackingMiddleware.js` 1. On any page with a provider injected, use `window.ethereum.request` to make some rpc method calls that are sampled. I suggest spamming `eth_blockNumber` 1. Check background console for breakpoint trigger. The current sample percentage is 0.1%, so you may have to spam eth_blockNumber for quite some time. Testing global rate limiting 1. Opt into MetaMetrics in the wallet settings 1. Open your the background console for extension 1. Add a breakpoint for trackEvent inside `createRPCMethodTrackingMiddleware.js` 1. On any page with a provider injected, use `window.ethereum.request` to make some rpc method calls that not rate limited. I suggest using `eth_signTypedData_v4` which is most easily triggerable from the [test dapp](https://metamask.github.io/test-dapp/). 1. Check background console for breakpoint trigger. It should only fire 10 times within 5 minutes of the first request being tracked. After which method calls will not be tracked until additional head room is unlocked as 5 minutes pass since each previous tracked method call. NOTE: I recommend breakpoint and debugger over the network tab because I don't believe the tracking requests actually fire on dev. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [ ] I've included screenshots/recordings if applicable - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [x] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [x] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Alex Donesky <adonesky@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 649c1c4 - Browse repository at this point
Copy the full SHA 649c1c4View commit details
Commits on Apr 20, 2024
-
test: add scenario send transactions with custom nonce (#23714)
## **Description** In this PR we add the scenario for the flow 'Send transactions with custom nonce'. This task belongs to the effort of documenting manual QA flows in this [Epic](#21962). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23714?quickstart=1) User flow summary: - validate that 'Customize transaction nonce' settings enable should get the appropriate text field for entering nonce. - validate that the nonce should be incremented by one. - validated that the nonce is reduced and transaction fails due to low nonce value. ## **Related issues** Fixes: [23570](#23570) ## **Manual testing steps** 1. Verify that the test steps align with the sequence in the video. 2. You can find rendered table [here](https://github.com/MetaMask/metamask-extension/blob/710741dff8ba9698b76b637b383c2237d03f2983/test/scenarios/3.%20transactions/send%20transactions%20with%20custom%20nonce.csv). ## **Screenshots/Recordings** https://github.com/MetaMask/metamask-extension/assets/104780023/e4573f5d-3d51-4c78-8623-cdaf9554879d Popup notification about failed low nonce transaction: <img width="380" alt="Screenshot 2024-03-19 at 7 12 56 PM" src="https://github.com/MetaMask/metamask-extension/assets/104780023/a675c163-ead2-4ea6-9bb7-4a1f4f98ce7c"> ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 985b652 - Browse repository at this point
Copy the full SHA 985b652View commit details
Commits on Apr 22, 2024
-
chore: MMI enable Sentry logging for mmi build type (#24079)
<!-- 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 MMI we have our own Sentry project with its own DSN key, this key is stored in the environment variables with the name `SENTRY_MMI_DSN`, so our build type needs to have Sentry pointing to it. Also, we have set MetaMetrics OFF by default in MMI, but since we want to keep Sentry logging, we need to account for that by checking our build type as well and instruct the MetaMetrics check method to be always true for MMI. ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Albert Olivé <albertolivecorbella@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for b75e313 - Browse repository at this point
Copy the full SHA b75e313View commit details -
feat: notifications - user storage controller (#23353)
## **Description** Followup PR on this: #23286 Allows developers to store synced and protected user information where only the user/client can read, write, and access. This enables Profile Syncing and Notifications. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23353?quickstart=1) ## **Related issues** Fixes: N/A ## **Manual testing steps** N/A, this controller is unconnected. It will be connected with other controllers in followup PRs. ## **Screenshots/Recordings** N/A ### **Before** N/A ### **After** N/A ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [x] I've included screenshots/recordings if applicable - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [x] I’ve properly set the pull request status: - [x] In case it's not yet "ready for review", I've set it to "draft". - [x] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for c370877 - Browse repository at this point
Copy the full SHA c370877View commit details -
feat: Added e2e for permissions page (#24127)
This PR is to add e2e for permissions Page ## **Related issues** Fixes: ## **Manual testing steps** 1. create a build using Multichain flag 2. Run the e2e ## **Screenshots/Recordings** ### **Before** NA ### **After** No UI changes ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for f971677 - Browse repository at this point
Copy the full SHA f971677View commit details -
fix: Fix tooltip distance (#24098)
<!-- 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 permissions tooltip is not displaying correctly within the connect accounts modal. Additionally there should be a 4px spacing between the tooltip info icon and the permissions text label. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24098?quickstart=1) ## **Related issues** Fixes: #23859 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="355" alt="Screenshot 2024-04-18 at 03 21 07" src="https://github.com/MetaMask/metamask-extension/assets/11148144/11f93d28-074c-4885-ab36-e4347dd0c892"> ### **After** <img width="374" alt="Screenshot 2024-04-18 at 03 13 02" src="https://github.com/MetaMask/metamask-extension/assets/11148144/9007d51d-a39d-4b31-9133-9b14d648993b"> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 358f0bb - Browse repository at this point
Copy the full SHA 358f0bbView commit details -
feat: show tooltip and icon when network is busy (#24104)
## **Description** Replace "network is busy" warning with a tooltip. This will help clean up our current transactions confirmations while the redesign is in the works. Whenever the network is busy warning is shown on EIP-1559 confirmations. This excludes Legacy confirmations. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24104?quickstart=1) ## **Related issues** Fixes: [#2246](https://github.com/MetaMask/MetaMask-planning/issues/2246) ## **Manual testing steps** 1. Add/Enable Sepolia test network 2. Open testdapp and perform eip1559 transaction a couple of times till the busy icon is shown ## **Screenshots/Recordings** ### **Before** <img width="357" alt="Screenshot 2024-04-17 at 13 23 53" src="https://github.com/MetaMask/metamask-extension/assets/44811/610e58a5-c05f-4ad7-8dcf-1218de3cabd5"> ### **After** <img width="359" alt="Screenshot 2024-04-17 at 13 21 56" src="https://github.com/MetaMask/metamask-extension/assets/44811/ce6ec437-ccdd-45ba-bd97-1dc99cc3d7b1"> <img width="364" alt="Screenshot 2024-04-18 at 10 46 37" src="https://github.com/MetaMask/metamask-extension/assets/44811/bedbb85f-5749-4ea0-8255-df1f98ff3c68"> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 0e91427 - Browse repository at this point
Copy the full SHA 0e91427View commit details -
fix: needs to be always true for MMI (#24163)
<!-- 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** Quick fix, it needs to be always true for MMI since we don't rely on MetaMetrics. Meaning we don't care about the metametrics in order to have sentry enabled, so we need to tell sentry that metametrics is on, even if it isn't. ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for cc928f6 - Browse repository at this point
Copy the full SHA cc928f6View commit details -
Fix #24125 - Maximize AccountPicker space in header (#24139)
<!-- 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** @AlexJupiter pointed out a visual regression of the Account Picker. This PR maximizes the header space of the AccountPicker such that more of the name fits in the space. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24139?quickstart=1) ## **Related issues** Fixes: #24125 ## **Manual testing steps** 1. Open the extension popup 2. Create and switch to an account name with many letters 3. See more of the account name, centered 4. Open full screen 5. Ensure account picker is centered ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="1173" alt="image" src="https://github.com/MetaMask/metamask-extension/assets/7900773/f699f938-58e6-4853-9fc3-b05e8e925525"> ### **After** <img width="374" alt="SCR-20240419-mtbx" src="https://github.com/MetaMask/metamask-extension/assets/46655/7772ae80-e050-420c-a7f5-a605e7365e18"> <img width="385" alt="SCR-20240419-mtib" src="https://github.com/MetaMask/metamask-extension/assets/46655/d4037093-c3d2-4d6d-a035-e2f79d93ceac"> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 6da0723 - Browse repository at this point
Copy the full SHA 6da0723View commit details -
feat: Hide the "retry" button for Smart Transactions, show cancelled …
…STX only for Swaps (#24176) ## **Description** - Hide the "retry" button for Smart Transactions - Show cancelled smart transaction only for Swaps in the Activity tab ## **Related issues** Fixes: ## **Manual testing steps** Hide the "retry" button for Smart Transactions - Before submitting a non-swap transaction (e.g. Send), set custom gas fees super low, so the transaction would fail - Submit it - Once it gets cancelled, go to the Activity tab and open the transaction detail - There is no "retry" button if Smart Transactions are enabled Show cancelled smart transaction only for Swaps in the Activity tab - Before submitting a non-swap transaction, set custom gas fees super low, so the transaction would fail - Submit it - Once it gets cancelled, in the Activity tab you will now only see one item in the list with the failed transaction (before you could see two for the same transaction: "Cancelled" and "Failed", which wasn't needed) ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for b3c8d32 - Browse repository at this point
Copy the full SHA b3c8d32View commit details
Commits on Apr 23, 2024
-
feat: use Infura gas API (#23717)
## **Description** This PR introduces an updated `GasFeeController` that transitions to the new Infura gas API. Preview `GasFeeController` PR: MetaMask/core#4068 **Important Note**: With the introduction of these changes, developers must complete two critical steps within their Infura project: 1. Activate the Infura gas API in the Expansion APIs section. ![infura all-endpoints ](https://github.com/MetaMask/metamask-extension/assets/7644512/ec976245-cab5-4b8f-b25d-b5a75f5b381b) Access this section via `https://app.infura.io/key/<INFURA_PROJECT_ID>/all-endpoints`. Please replace `<INFURA_PROJECT_ID>` with the project ID found in your `.metamaskrc` file. 2. Ensure that the `REQUIRE API KEY SECRET FOR ALL REQUESTS` option is disabled. ![infura settings](https://github.com/MetaMask/metamask-extension/assets/7644512/de0a3e1a-767b-468c-b0d5-fc7f393e4841) Access this section via `https://app.infura.io/key/<INFURA_PROJECT_ID>/settings`. Again, `<INFURA_PROJECT_ID>` with the project ID found in your `.metamaskrc` file. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23717?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2254 ## **Manual testing steps** Although there are no functional changes, the update to the gas API URL warrants manual testing of gas-related components to ensure they remain operational. ## **Screenshots/Recordings** N/A ### **Before** N/A ### **After** N/A ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3ed1ee1 - Browse repository at this point
Copy the full SHA 3ed1ee1View commit details -
chore: add back SENTRY_MMI_DSN build variable (#24190)
Seems to be needed for forked metamask PRs.
Configuration menu - View commit details
-
Copy full SHA for b59e899 - Browse repository at this point
Copy the full SHA b59e899View commit details -
fix: adds default empty value (#24192)
<!-- 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 default empty value. ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for ecf57cc - Browse repository at this point
Copy the full SHA ecf57ccView commit details -
fix: add migration for stuck transactions (#24027)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR aims to add a migration which sets transaction to `failed` status if they are created before 8 December 2023 (release date of `TransactionController` migration) and they are still `approved` or `signed` status. The reason of this migration added is that some users had these transactions in their MM state and [after recent changes](#22676) in the confirmation page, the transactions are blocking users to approve subsequent transactions. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24027?quickstart=1) ## **Related issues** Fixes: #23361 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Derek Brans <dbrans@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 26ac8d3 - Browse repository at this point
Copy the full SHA 26ac8d3View commit details -
feat: metamask notifications controller (#23393)
## **Description** This PR introduces a new controller for managing two different types of notifications: - feature announcements - notifications related to events and actions for the user-managed accounts These notifications are received from two external sources. The new controller is called `Metamask Notifications Controller` to distinguish it from the current `Notification Controller` used to manage the internal notifications of the extension. The `Metamask Notifications Controller` requires two controllers for managing and receiving notifications: - `authorization controller` - responsible for "authenticating" the user - `user storage controller` - responsible for the creation and reading of the user storage With the combination of using these two controllers, the user can choose whether and which notifications to receive. ## **Related issues** Fixes: ## **Manual testing steps** ## **Screenshots/Recordings** Check this Figma to have an overview about the flow of the Platform Notifications Controller: [Figma - Notifications](https://www.figma.com/file/c7GgNw2kScGrVyRGAPhwEd/Notifications?type=design&node-id=484-44713&mode=design) ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've clearly explained what problem this PR is solving and how it is solved. - [ ] I've linked related issues - [ ] I've included manual testing steps - [ ] I've included screenshots/recordings if applicable - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [ ] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Prithpal Sooriya <prithpal.sooriya@consensys.net>
Configuration menu - View commit details
-
Copy full SHA for bc2afb0 - Browse repository at this point
Copy the full SHA bc2afb0View commit details -
fix(deps): web3-stream-provider@^4.0.0->^5.0.0 (#23216)
Update version of `readable-stream` used by the `StreamProvider` from `2.3.8` to `3.6.2` to match that of its supplied connection stream (which it gets via `@metamask/object-multiplex`)
Configuration menu - View commit details
-
Copy full SHA for bf946dc - Browse repository at this point
Copy the full SHA bf946dcView commit details -
feat: Add updated UI for Snap install and update flows (#23870)
## **Description** This PR updates UI for Snap Install and Snap update flow. Alongside the update, replaced are deprecated Design System components. Updates are made respecting the designs presented on Figma: https://www.figma.com/file/jr7XsFvcPCnf4HOMvNWFfn/Permission-System?node-id=1%3A2&mode=dev [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23870?quickstart=1) ## **Related issues** Fixes: #23244 ## **Manual testing steps** 1. Start Snap installation process and check the UI. 2. Start Snap update process and check the UI. ## **Screenshots/Recordings** ### **Before** ![Screenshot 2024-04-05 at 22 36 20](https://github.com/MetaMask/metamask-extension/assets/13301024/903df735-f152-482d-8600-101bfab83d46) ![Screenshot 2024-04-05 at 22 36 33](https://github.com/MetaMask/metamask-extension/assets/13301024/385b0494-2d35-4400-945a-9034f58ed8d6) ![Screenshot 2024-04-05 at 22 36 56](https://github.com/MetaMask/metamask-extension/assets/13301024/6a162c7b-a5e1-4a71-b5ec-59bb23040db8) ![Screenshot 2024-04-05 at 22 37 18](https://github.com/MetaMask/metamask-extension/assets/13301024/d3186f1f-1b02-4480-9615-e626fb62005b) ### **After** ![Screenshot 2024-04-05 at 21 37 23](https://github.com/MetaMask/metamask-extension/assets/13301024/ff021cdd-5ae1-4711-9c59-bf52a06983b0) ![Screenshot 2024-04-05 at 21 37 36](https://github.com/MetaMask/metamask-extension/assets/13301024/44cbc751-ee47-4128-ba87-5d245d4ff189) ![Screenshot 2024-04-05 at 21 37 46](https://github.com/MetaMask/metamask-extension/assets/13301024/af60408e-8446-4a3c-bcee-271e63858943) ![Screenshot 2024-04-05 at 21 38 25](https://github.com/MetaMask/metamask-extension/assets/13301024/01238319-5466-4c0b-b37b-17f3a16c4385) ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: bowensanders <bowensanders@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 3627a99 - Browse repository at this point
Copy the full SHA 3627a99View commit details -
fix: issue where per dapp selected network proxies are not synced cor…
…rect across preference toggle (#24093) ## **Description** [The changes integrated here](MetaMask/core@1551844#diff-f17918dbe6fc43037bfaa47fa6869da4c3b244154ef7a9eacbcd3a0a373351efR10) from `@metamask/selected-network-controller` v12 keep the per domain proxies (stored in domainProxyMap) pointing to the correct network client instance when the "Select networks for each site" toggle is turned on and off. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24093?quickstart=1) ## **Manual testing steps** 1. Open the wallet in fullscreen 2. Switch network to Ethereum Mainnet 3. Open the experimental settings page 4. Turn off 'Select networks for each site' if was on previously (otherwise leave it off) 5. Open a dapp (or any webpage will work) in another window or tab 6. Connect to the dapp 7. Open the console and execute: ``` await window.ethereum.request({ "method": "eth_chainId", "params": [] }); ``` 8. You should get '0x1' 9. Switch the network in the wallet to Sepolia 10. Go back to the dapp console and execute the same request -> You should get '0xaa36a7' 11. Turn on the 'Select networks for each site' setting 12. Switch the network back to Ethereum Mainnet 13. Go back to the dapp console and execute the same request -> You should still get '0xaa36a7' 14. Turn off the 'Select networks for each site' setting 15. Go back to the dapp console and execute the same request -> You should get '0x1' again ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/MetaMask/metamask-extension/assets/34557516/e39ce796-6e39-41d3-80b2-f582b66fa965 ### **After** https://github.com/MetaMask/metamask-extension/assets/34557516/de8701d7-b342-4b56-ab87-1a73842c0706 ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 95f1055 - Browse repository at this point
Copy the full SHA 95f1055View commit details -
Configuration menu - View commit details
-
Copy full SHA for e7a3b07 - Browse repository at this point
Copy the full SHA e7a3b07View commit details -
chore: Update ppom package (#24171)
<!-- 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 @blockaid/ppom_release package to 1.4.5 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24171?quickstart=1) ## **Related issues** Fixes: #24170 ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 378bb27 - Browse repository at this point
Copy the full SHA 378bb27View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4368d3 - Browse repository at this point
Copy the full SHA a4368d3View commit details -
fix: transaction created after a pending signature request does not l…
…oad on page and show continuous spinner (#24173)
Configuration menu - View commit details
-
Copy full SHA for 4f8a951 - Browse repository at this point
Copy the full SHA 4f8a951View commit details -
chore: disable sonarcloud in github actions (#24197)
<!-- 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. --> Temporarily disable SonarCloud job in github actions until the plan is upgraded and full analysis of repo is completed. ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24197?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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 0097d45 - Browse repository at this point
Copy the full SHA 0097d45View commit details -
feat: metrics for token removed and NFT details opened (#24175)
## **Description** Adds metrics for a token being removed and NFT details page opened [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24175?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-196 ## **Manual testing steps** ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 88bc4e8 - Browse repository at this point
Copy the full SHA 88bc4e8View commit details -
feat(restore): Add Restore type to onboarding flow (#23739)
## **Description** This Pull Request adds a new onboarding 'firstTimeFlowType' called 'restore'. In a future PR (#23056) we will provide a path forward for users who suffer from a state corruption error, wherein their vault is backed up to local storage and they will be given an option to restore from that vault when the error occurs. This PR adds a path through the onboarding screens for those users, skipping the step of choosing "Import" or "Create" and instead going straight to MetaMetrics opt-in. This flow is **currently inaccessible** to users but I did add an E2E test to cover the flow by forcing state into the shape it would be in after a restore. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23739?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** Force MetaMask into the state required to test this: ```js chrome.storage.local.get((state) => chrome.storage.local.set({ data: { ...state.data, OnboardingController: { completedOnboarding: false, firstTimeFlowType: 'restore', seedPhraseBackedUp: null }, MetaMetricsController: { participateInMetaMetrics: null, metaMetricsId: null }, }})); ``` 1. First, ensure you're on a local dev build with a working wallet initialized. 2. Open the background console from the extension management screen. 3. Use the steps above to get your state tree into a restore state. 4. Reload the extension from the extension management screen. 5. Open the extension and you should be requested to unlock your wallet with password. 6. Your password should work. 7. You should see MetaMetrics optin screen and be able to continue onboarding ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> No changes, the only thing that changes is the skipping of the create/import step. ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for fef4fa5 - Browse repository at this point
Copy the full SHA fef4fa5View commit details -
feat: reduce the number of decimals shown for simulation detail amoun…
…ts (#24036) ## **Description** This PR does two things: * Converts balance change amounts to BigNumber. The previous Amount definition was redundant. * Formats token amounts as follows: `|amount| < 1`: We display a maximum of 3 significant digits. `|amount| >= 1`: We display all digits left of the decimal point. We also display some decimal places for smaller amounts, and gradually reduce the decimal precision as the amount gets bigger until we only show whole numbers. Users are still able to see the original amount, subject to the maximum precision supported by `Intl.NumberFormat`. Here is how different amounts are rendered: <img width="336" alt="Screenshot 2024-04-08 at 14 14 36" src="https://github.com/MetaMask/MetaMask-planning/assets/34968356/200053d9-226c-4f9b-a2e9-3f7437deb6ad"> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24036?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2343 ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for c33c5df - Browse repository at this point
Copy the full SHA c33c5dfView commit details -
fix: Flaky test to support changes introduced in PR 23155 (#24195)
## **Description** Change in the PR fixes the flaky test CircleCI job - test-e2e-chrome-vault-decryption https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/77436/workflows/983b4b1c-104a-4acc-ad35-36fe09a03a29/jobs/2685234 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24195?quickstart=1) ## **Related issues** Fixes: #24180 #1722 ## **Manual testing steps** Run the test in codespace or locally --> Checkout to the branch yarn yarn dist yarn test:e2e:single test/e2e/vault-decryption-chrome.spec.js --browser=chrome ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 5efc5c7 - Browse repository at this point
Copy the full SHA 5efc5c7View commit details -
fix: duplicate simulation metrics (#24194)
> [!NOTE] > This branch was originally reviewed in #24167 > which got accidentally merged into a feature branch. ## **Description** This PR addresses the issue of duplicate or replaced metrics when the SimulationDetails component is used on the smart transaction status confirmation. Changes: * Add `enableMetrics` property on the SimulationDetails component which is `false` by default. By making these changes, we prevent redundant metrics from being tracked. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24167?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2373 ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for c5e95a4 - Browse repository at this point
Copy the full SHA c5e95a4View commit details -
fix: disable polling when MM closed (#24162)
## **Description** Once nftDetection is enabled by the user, the nftDetection controller will start polling data in the background every 3 min even if the user closes the metamask popup or the tab. We want to stop unnecessary polling when MM is closed in an attempt to reduce traffic. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24026?quickstart=1) ## **Related issues** Related to: MetaMask/core#4178 ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 2638466 - Browse repository at this point
Copy the full SHA 2638466View commit details
Commits on Apr 24, 2024
-
chore: adds mmi tem as codeowners (#24216)
<!-- 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** It adds MMI team as **codeowners** to the respective `institutional/` folders. ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 085e808 - Browse repository at this point
Copy the full SHA 085e808View commit details -
fix: add npm resolution @spruceid/siwe-parser 1.1.3 → 2.1.0 with patch (
#24138) ## **Description** Resolves @spruceid/siwe-parser 1.1.3 → 2.1.0 The updated @spruceid/siwe-parser allows `http` and `https` schemas in a transaction message's URL. Additional changes are included in the @spruceid/siwe-parser upgrade from v1.1.3 → v2.1.0. One important update is the requirement of [EIP-55](https://npmfs.com/package/@spruceid/siwe-parser/1.1.3/lib/abnf.ts) complaint addresses. This means that if a dapp attempts to sign a `personal_sign` message with a from address that is not EIP-55 compliant, SIWE will not be detected. This is what we want as [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) enforces EIP-55 addresses. There's a separate ticket that'll warn users if a `personal_sign` message looks like a SIWE but doesn't parse to a SIWE message: #24128 Issue to update test-dapp SIWE addresses to be EIP-55 complaint: MetaMask/test-dapp#326 Related Links (Thanks @NicholasEllul for these): - https://app.warp.dev/block/4eE6QC12lVuwARbpFj62VJ - https://npmfs.com/package/@spruceid/siwe-parser/1.1.3/lib/abnf.ts ## **Related issues** Fixes: MetaMask/MetaMask-planning#2256 Relates To: MetaMask/MetaMask-planning#2278 Related to: #24107 Related to: MetaMask/core#4153 Related to: MetaMask/core#4141 ## **Manual testing steps** 1. Go to the metamask test-dapp or run the test-dapp locally 2. When testing locally, optionally update the from addresses used by the buttons 3. Test Sign-in With Ethereum buttons 4. Observe MM ## **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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com> Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> Co-authored-by: Nicholas Ellul <nicholas.ellul1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 4b55476 - Browse repository at this point
Copy the full SHA 4b55476View commit details -
feat: token detection on 7 more networks (#24121)
## **Description** Adds support for erc20 token detection on 7 more networks. Patching this from core because it's small: MetaMask/core#4184 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24121?quickstart=1) ## **Related issues** https://consensyssoftware.atlassian.net/browse/MMASSETS-207 ## **Manual testing steps** 1. Visit one of the new chains (cronos, celo, gnosis, fantom, polygon zk, moonbeam, moonriver) on a wallet that has tokens on the network 2. They should be autodetected ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** None of the chains support token lists or detection: <img width="345" alt="Screenshot 2024-04-22 at 9 50 03 PM" src="https://github.com/MetaMask/metamask-extension/assets/3500406/97c08793-0b08-44b9-aef4-71f551b8a803"> ### **After** All 7 chains support detection: https://github.com/MetaMask/metamask-extension/assets/3500406/16c8e763-ccc0-4070-8ac3-28a7dfa88e1f <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for f3c4676 - Browse repository at this point
Copy the full SHA f3c4676View commit details -
fix: token list cleared on network switch (#24212)
## **Description** Problem: When switching networks, the token list is cleared. Preventing token import via search or autodetect. Diagnosis: `TokenListController.preventPollingOnNetworkRestart` was true, which [intentionally clears the token list](https://github.com/MetaMask/core/blob/4b39e8e3038761004eaf493aa4ef1e177239e3ba/packages/assets-controllers/src/TokenListController.ts#L182-L184) on network switch. Prior to #23919, this setting would be set false when enabling token autodetection. But this code path no longer triggers. Solution: Set the initial value of `preventPollingOnNetworkRestart` based on whether we need token lists. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24212?quickstart=1) ## **Related issues** ## **Manual testing steps** 1. Open MetaMask 2. Switch networks 3. Click import tokens 4. The left search tab should autocomplete when you type token names ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> <img width="348" alt="Screenshot 2024-04-23 at 11 08 47 PM" src="https://github.com/MetaMask/metamask-extension/assets/3500406/65ceb23c-571a-4bd9-9f56-8a27d5e6797d"> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for fb49066 - Browse repository at this point
Copy the full SHA fb49066View commit details -
feat: Refactor and update permission-connect UI (#23557)
## **Description** This PR introduces some major code refactoring and UI updates to **_Connect_** and **_Permission Approval_** screens. #### Motivation There are several blockers encountered while trying to introduce (integrate) new features provided by Snaps Core Platform such as Dynamic Permissions. The major reason for a blocker is the state of the current implementation of the _Permission Approval_ component. More specifically, the large difference and inconsistencies between the UI components and overall UI structure used for the native and Snaps flows related to the permission approval features are making it close to impossible to maintain and extend with the new functionalities. Building even more fragmented conditional UI in order to introduce new features, as part of the same flows and features, would dramatically increase code complexity and maintenance demands, while resulting in poor UX/UI in the final product. Hence, after multiple discussions inside the teams and between the different teams, it is determined that the best approach would be complete UI refactoring and consolidation of the user interface between native and Snaps flows. This PR is the first major step made in order to achieve the proposed results and unblock the new features waiting for integration. #### What is done in this PR - Updated UI for Account Connection and Permission Approval screens. - Refactoring of the Connection and Permission Approval components. - Refactoring of the other components related to Connect and Permission pages. - Replaced old way of UI styling with the new one aligned with Design System approach. This includes replacement of all deprecated Design System components with the current. - Removed redundant SCSS code. UI styling is now mostly handled by Design System components. - Updated some parts of the Storybook for the related components. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23557?quickstart=1) ## **Related issues** Fixes: #23316 Design: https://www.figma.com/file/jr7XsFvcPCnf4HOMvNWFfn/Permission-System?node-id=1%3A2&mode=dev (see facelift section). Blocks: MetaMask/snaps#1821 Blocks: MetaMask/snaps#2088 Blocks: MetaMask/snaps#2198 ## **Manual testing steps** 1. Go to [E2E Test Dapp](https://metamask.github.io/test-dapp/) or [Test Snaps](https://metamask.github.io/snaps/test-snaps/latest/) website. 2. Try connecting the accounts to the Test Dapp. Try approving permission requested. Check the UI. 3. Try installing a Snap and check all the related UI starting from a connection to the website. 4. Try installing Ethereum Provider Snap and verify the UI for the complete flow including triggering option for getting Ethereum accounts. 5. Try using Multi Install Snap feature provided by the Test Snaps web application. 6. Check any other website connection or permission approval related flows and features and make sure that there are no regressions. 7. Verify that there are no regressions in all the UX/UI related to the all features mentioned above. Also, verify the functionality of the related features. ## **Screenshots/Recordings** ### **Before** ![Screenshot 2024-03-28 at 16 05 48](https://github.com/MetaMask/metamask-extension/assets/13301024/568fc097-f2f2-4516-a921-a6596d33afca) <img width="1018" alt="Screenshot 2024-03-29 at 15 35 51" src="https://github.com/MetaMask/metamask-extension/assets/13301024/b06fa630-3912-445a-80e8-00f85a0ce301"> <img width="1462" alt="Screenshot 2024-03-29 at 15 37 26" src="https://github.com/MetaMask/metamask-extension/assets/13301024/20b4cea6-9258-482a-9eb4-38de2234f15a"> <img width="927" alt="Screenshot 2024-03-29 at 15 39 52" src="https://github.com/MetaMask/metamask-extension/assets/13301024/c7643215-78cc-43b8-8c89-5ae504e05bb2"> ### **After** ![Screenshot 2024-04-22 at 18 40 35](https://github.com/MetaMask/metamask-extension/assets/13301024/b2c903ca-0a7a-47df-ac56-f9d9b6587245) ![Screenshot 2024-04-22 at 18 41 08](https://github.com/MetaMask/metamask-extension/assets/13301024/4ad1211d-7de4-43b8-82c1-e4e5c3e23aa9) ![Screenshot 2024-04-22 at 18 41 50](https://github.com/MetaMask/metamask-extension/assets/13301024/b48b04c3-36ec-4a15-a56b-1e3dd7e466ef) ![Screenshot 2024-04-22 at 18 42 35](https://github.com/MetaMask/metamask-extension/assets/13301024/a6fd4e7f-6dd8-4482-bc72-b73f33333b4b) ![Screenshot 2024-03-29 at 15 48 17](https://github.com/MetaMask/metamask-extension/assets/13301024/ac0d3d0c-9ade-484c-b2e2-35857d47c588) ![Screenshot 2024-04-17 at 16 28 03](https://github.com/MetaMask/metamask-extension/assets/13301024/2a2bd11d-238b-488c-994e-d531a0bc281a) ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [x] I've included screenshots/recordings if applicable - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [x] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [ ] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for ec03702 - Browse repository at this point
Copy the full SHA ec03702View commit details -
ci: update
actions/checkout
from v2 to v4 (#24064)Update `actions/checkout@v2` to v4 as v2 is deprecated.
Configuration menu - View commit details
-
Copy full SHA for ea6e262 - Browse repository at this point
Copy the full SHA ea6e262View commit details -
ci: update
actions/stale
from commit 72afbce2b0dbd1d903bb142cebe2d1……5dc307ae57 (v7ish) to v9.0.0 (#24063) Update `actions/stale@72afbce2b0dbd1d903bb142cebe2d15dc307ae57` to v9.0.0 (at commit `28ca1036281a5e5922ead5184a1bbf96e5fc984e`) as the version at commit `72afbce2b0dbd1d903bb142cebe2d15dc307ae57` is deprecated. I kept the commit hash versioning, even though our security process doesn't currently require hashes for actions maintained by GitHub, because I don't know why a hash was used in the first place.
Configuration menu - View commit details
-
Copy full SHA for d84ef28 - Browse repository at this point
Copy the full SHA d84ef28View commit details -
refactor: change CurrencyRateController Polling to be UI driven (#23476)
## **Description** Currently currency rate polling is started and stopped based on active trusted connections to the `MetaMaskController` (i.e. whenever the wallet ui is opened). In the future we want polling to be tied to the actual components that rely on polled currency rate state. As a transitionary step, this PR moves currency rate polling from `MetaMaskController` into a hook that wraps the root level `<Routes>` component. Nothing changes except that currency rate polling goes from being MetaMaskController connection driven to actually wallet UI driven. Polling will still occur as long at least one wallet UI is open as it currently already does. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/PR?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2083 ## **Manual testing steps** 1. Open background console - network tab 3. Filter by `min-api.cryptocompare.com` 4. Open wallet UI 5. See request in background network tab 6. Change network 7. See new request 8. Close wallet UI 9. Open wallet UI right away 10. See no new requests 11. Close wallet UI 12. Wait 3 minutes 13. See no new requests 14. Open wallet UI 15. See new request 16. Leave wallet UI open 17. Wait 3 minutes 18. See new request ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've clearly explained what problem this PR is solving and how it is solved. - [ ] I've linked related issues - [ ] I've included manual testing steps - [ ] I've included screenshots/recordings if applicable - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I’ve properly set the pull request status: - [ ] In case it's not yet "ready for review", I've set it to "draft". - [ ] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Alex Donesky <adonesky@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 7e972ba - Browse repository at this point
Copy the full SHA 7e972baView commit details
Commits on Apr 25, 2024
-
chore: bump snaps packages (#24226)
## **Description** Bump snaps packages to latest. Summary of changes in the snaps deps: - Improve stability and handle errors more gracefully when Snaps or the execution environment fail to start - Fix a bug where certain caveats would not be correctly applied when updating a Snap - Gracefully handle errors for multiple simultaneous failing requests - Throw an error if the starting Snap does not contain any exports - Increase max UI size limit from 250 KB to 10 MB
Configuration menu - View commit details
-
Copy full SHA for d8d9bc6 - Browse repository at this point
Copy the full SHA d8d9bc6View commit details -
Configuration menu - View commit details
-
Copy full SHA for d181619 - Browse repository at this point
Copy the full SHA d181619View commit details
Commits on May 2, 2024
-
chore(deps): Bump phishing-controller to ^9.0.2 (v11.16.0 cherry-pick…
…)) (#24329) ## **Description** This is a cherry-pick of #24311 for v11.16.0 This version of phishing-controller includes the changes to Stalelist update interval to 30 days and the hotlist update interval to 5 mins. ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: Kanthesha Devaramane <kanthesha.devaramane@consensys.net> Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 2796377 - Browse repository at this point
Copy the full SHA 2796377View commit details
Commits on May 7, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e21c67f - Browse repository at this point
Copy the full SHA e21c67fView commit details
Commits on May 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 756dba1 - Browse repository at this point
Copy the full SHA 756dba1View commit details
Commits on May 9, 2024
-
Configuration menu - View commit details
-
Copy full SHA for cfeaba9 - Browse repository at this point
Copy the full SHA cfeaba9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a79f99 - Browse repository at this point
Copy the full SHA 4a79f99View commit details -
Configuration menu - View commit details
-
Copy full SHA for d980b6a - Browse repository at this point
Copy the full SHA d980b6aView commit details
Commits on May 16, 2024
-
fix: Update gas fee controller to v11.15.2 (#24520)
Updates the gas fee controller to v11.15.2, so that the gas fee controller is instantiated with the proper metadata. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24520?quickstart=1) Fixes: #24383 1. Start a tx 2. Add recipient and amount 3. Check console, there should not be a `Error: No metadata found for 'nonRPCGasFeeApisDisabled'` - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for bdd2ecd - Browse repository at this point
Copy the full SHA bdd2ecdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5aa4a3a - Browse repository at this point
Copy the full SHA 5aa4a3aView commit details
Commits on May 17, 2024
-
chore(test/e2e): Fix request-queueing/ui.spec.js (#24440)
## **Description** ` request-queueing/ui.spec.js` has been particularly flaky. In particular, the problem was described as follows: > The test stalls for 10+ seconds locally at detecting 4 windows: > await driver.waitUntilXWindowHandles(numHandles) > The test is doing exactly what it's meant to but the waitUntilXWindowHandles call is taking an eternity I noticed that this line in particular in the `waitUntilXWindowHandles` helper method seemed to take a long time to resolve in only one case: `windowHandles = await this.driver.getAllWindowHandles();` So the problem seemed to be not with our `waitUntilXWindowHandles` itself, but something related to selenium- webdriver's own `getAllWindowHandles` method From this stack overflow post, it seems that others have had trouble with having `getAllWindowHandles` resolve when `executeScript` is not resolved https://stackoverflow.com/questions/64687179/calling-getwindowhandles-again-causing-timeout So the attempted fix, which worked on three successive local runs, is to properly await the executeScript that happens before the `getAllWindowHandles` call in question. We also need to remove the `return` from the script to be executed, so that webdriver-selenium is not waiting for a returned promise to resolve. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24440?quickstart=1) ## **Manual testing steps** 1. ` request-queueing/ui.spec.js` should pass in automated tests and not be flaky ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for db89ed4 - Browse repository at this point
Copy the full SHA db89ed4View commit details -
fix: Removing usage of driver.navigate before unlockWallet (#24436)
The use of driver.navigate() in combination with the use of driver.navigate() in unlockWallet helper function was causing the page to reload in e2e tests. This is causing issues with filling in the password when unlocking the wallet. <img width="881" alt="image" src="https://github.com/MetaMask/metamask-extension/assets/10986371/db981ad9-4705-46f1-ae80-30456706e952"> I suspect the test was trying to access DOM elements created before the re-rendering. <!-- 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. --> <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24436?quickstart=1) Fixes: 1. Go to this page... 2. 3. <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> <!-- [screenshots/recordings] --> <!-- [screenshots/recordings] --> - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for fffd36a - Browse repository at this point
Copy the full SHA fffd36aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6059e37 - Browse repository at this point
Copy the full SHA 6059e37View commit details -
chore: cherry-pick sentry and snapshot test changes from #24306 to v1…
…1.15.0 The version bump changes in #24306 were previously cherry-picked to v11.14.5, but the test changes were not, as they were not needed on that branch, as the gas feel controller wasn't actually updated on that branch. Now that v11.16.0 is using the latest gas-fee-controller, we need the sentry and snapshot changes
Configuration menu - View commit details
-
Copy full SHA for 46685a5 - Browse repository at this point
Copy the full SHA 46685a5View commit details -
Merge pull request #24564 from MetaMask/cherry-pr-flaky-test
fix: Cherry-pick pr from develop to v11.16.0 to fix flaky test
Configuration menu - View commit details
-
Copy full SHA for 30ae822 - Browse repository at this point
Copy the full SHA 30ae822View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d90392 - Browse repository at this point
Copy the full SHA 0d90392View commit details
Commits on May 18, 2024
-
Version v11.16.0 changelog (#24305)
Adding V11.16.0 Changelog. This PR needs to be updated once V11.16.0 is recut with the newly merged commits.
Configuration menu - View commit details
-
Copy full SHA for 73e5c4b - Browse repository at this point
Copy the full SHA 73e5c4bView commit details
Commits on May 20, 2024
-
Cherry-pick fix: decimals and fiat conversion crashes in simulation (#…
…24422) into Version-v11.16.0 (#24434) Cherry-pick 603b1b5 (#24422) into Version-v11.16.0 **Merge conflict resolved:** ```typescript // Compiles the balance change for the native asset function getNativeBalanceChange( nativeBalanceChange: SimulationBalanceChange | undefined, nativeFiatRate: number, ): BalanceChange | undefined { if (!nativeBalanceChange) { return undefined; } const asset = NATIVE_ASSET_IDENTIFIER; const amount = getAssetAmount(nativeBalanceChange, NATIVE_DECIMALS); <<<<<<< HEAD - REJECTED const fiatAmount = amount.times(nativeFiatRate).toNumber(); ======= ACCEPTED: const fiatAmount = amount .times(convertNumberToStringWithPrecisionWarning(nativeFiatRate)) .toNumber(); >>>>>>> 603b1b5 (fix: decimals and fiat conversion crashes in simulation (#24422)) return { asset, amount, fiatAmount }; } ```
Configuration menu - View commit details
-
Copy full SHA for 4e45738 - Browse repository at this point
Copy the full SHA 4e45738View commit details
Commits on May 21, 2024
-
cherry-pick: add fallback method for currency formatter in `useFiatFo…
…rmatter` (#24584) Cherry picks https://github.com/MetaMask/metamask-extension/pull/24563/files into `Version-v11.16.0`
Configuration menu - View commit details
-
Copy full SHA for a22b13d - Browse repository at this point
Copy the full SHA a22b13dView commit details -
Configuration menu - View commit details
-
Copy full SHA for edeca15 - Browse repository at this point
Copy the full SHA edeca15View commit details
Commits on May 22, 2024
-
Cherry-pick fix stopgap for BigNumber shift NaN issue (#24691) into v…
…11.16.0 (#24700) Cherry-pick fix stopgap for BigNumber shift NaN issue 4233f9e (#24691) into v11.16.0. There was a merge conflict – I rejected `HEAD` and accepted `4233f9ed06`. ```typescript const decimals = <<<<<<< HEAD asset.standard === TokenStandard.ERC20 ? erc20Decimals[asset.address] : 0; ======= // TODO(dbrans): stopgap for #24690 asset.standard === TokenStandard.ERC20 ? erc20Decimals[asset.address] ?? ERC20_DEFAULT_DECIMALS : 0; >>>>>>> 4233f9e (fix: stopgap for BigNumber shift NaN issue (#24691)) const amount = getAssetAmount(tokenBc, decimals); ```
Configuration menu - View commit details
-
Copy full SHA for afafe48 - Browse repository at this point
Copy the full SHA afafe48View commit details -
feat (cherry-pick): Add new privacy policy toast (#23838) (#24722)
Cherry-pick of #23838 ---- Changes: Adds a new privacy policy banner that will show up after June 4, 2024. If the user closes it manually, the privacy policy banner will not show up again. If the user does not close the toast manually, the privacy policy banner will cease to show up after a day of being shown for the first time. Changes the Survey banner so that we can display multiple banners at the same time without overlapping each other. Considerations: - Make sure this doesn't show up during onboarding - This toast will show up even after years of the privacy policy being changed. We should set up a deadline for that or eventually revert this PR. - Check if copy is correct. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23838?quickstart=1) Fixes: MetaMask/MetaMask-planning#2319 1. Go to the home page 2. Check if there's a new privacy banner there (date should be edited in the code so that the privacy policy shows up earlier than May 6, 2024) 3. When closing it, it shouldn't show up again 4. If not closing it manually, the toast should not show up again after 1 day of being shown for the first time. This data is saved in localStorage so editing the timestamp there should be enough to test this feature out. Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 6e20c20 - Browse repository at this point
Copy the full SHA 6e20c20View commit details -
feat (cherry-pick): New onboarding text (#24729)
cherry-pick of #24050 ---- <!-- 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. --> Updates the "Help us improve MetaMask" copy during onboarding. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24050?quickstart=1) Fixes: MetaMask/MetaMask-planning#2336 1. Start onboarding 2. Check that the copy in the 'Help us improve MetaMask' screen matches the new copy. 3. Test the Privacy Policy link <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> <img width="616" alt="Screenshot 2024-04-16 at 12 25 09" src="https://github.com/MetaMask/metamask-extension/assets/11148144/07f310c2-5e41-4245-b00b-2176d4023e22"> <img width="835" alt="Screenshot 2024-05-05 at 01 52 00" src="https://github.com/MetaMask/metamask-extension/assets/11148144/098907d5-0176-46ef-93b2-4c11be0d85cf"> - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24729?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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: David Walsh <davidwalsh83@gmail.com> Co-authored-by: Michele Esposito <34438276+mikesposito@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 041e79c - Browse repository at this point
Copy the full SHA 041e79cView commit details
Commits on May 23, 2024
-
revert (cherry-pick): deprecating more networks (#23695) (#24524)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24524?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 Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ad0234b - Browse repository at this point
Copy the full SHA ad0234bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab26c04 - Browse repository at this point
Copy the full SHA ab26c04View commit details -
Configuration menu - View commit details
-
Copy full SHA for 43832ef - Browse repository at this point
Copy the full SHA 43832efView commit details -
cherry-pick – chore: bump transaction-controller to 29.0.2 (#24701) i…
…nto v11.16.0 (#24740) cherry-pick – chore: bump transaction-controller to 29.0.2 637c0f3 (#24701) into v11.16.0 Notes: * Dan ran 1. git cherry-pick 637c0f3 1. git checkout HEAD -- yarn.lock (so that now there is no diff with yarn.lock) 1. manually fixed the conflict in package.json 1. yarn && yarn dedupe * Merge conflicts in package.json: ```json "@metamask/signature-controller": "^12.0.0", "@metamask/smart-transactions-controller": "^10.0.1", <<<<<<< HEAD "@metamask/snaps-controllers": "8.0.0", "@metamask/snaps-execution-environments": "6.0.2", "@metamask/snaps-rpc-methods": "8.0.0", "@metamask/snaps-sdk": "4.0.1", "@metamask/snaps-utils": "7.2.0", "@metamask/transaction-controller": "^28.1.1", "@metamask/user-operation-controller": "^6.0.0", ======= "@metamask/snaps-controllers": "^8.1.1", "@metamask/snaps-execution-environments": "^6.1.0", "@metamask/snaps-rpc-methods": "^9.0.0", "@metamask/snaps-sdk": "^4.2.0", "@metamask/snaps-utils": "^7.4.0", "@metamask/transaction-controller": "^29.0.2", "@metamask/user-operation-controller": "^8.0.1", >>>>>>> 637c0f3 (chore: bump transaction-controller to 29.0.2 (#24701)) "@metamask/utils": "^8.2.1", "@ngraveio/bc-ur": "^1.1.12", ```
Configuration menu - View commit details
-
Copy full SHA for a848063 - Browse repository at this point
Copy the full SHA a848063View commit details