-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Don't show third party notice for preinstalled Snaps #27351
Commits on Aug 16, 2024
-
fix: Fix SelectedNetworkController state corruption by making Network…
…Form update in-place rather than remove and add for rpcUrl changes (#26453) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Currently it is not possible to change the rpcUrl for an existing network configuration without first removing it then re-adding it. This poses an issue on extension when the rpcUrl for the currently selected network is changed via the `NetworkForm`. The NetworkForm first removes the existing networkClient which causes the SelectedNetworkController to replace any references to the networkClientId being removed with the selectedNetworkClientId, but the problem is that the selectedNetworkClientId is no longer valid at that point and leaves the SelectedNetworkController in a corrupted state. Really what we want in this case is to allow the network configuration to be updated in place by id, but only if the rpcUrl isn't changing to one that already exists on a different network configuration. This PR achieves that by getting rid of the `removeNetworkConfiguration()` call triggered by `NetworkForm` and patching the `NetworkController` with changes from MetaMask/core#4614 which allow network configurations to have their rpcUrl updated in place. It also keeps the existing patch that removed a `lookupNetwork()` call in `initializeProvider()`. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26453?quickstart=1) ## **Related issues** Related: #26309 ## **Manual testing steps** 1. Open extension in expanded view 2. Visit the Settings -> Networks 3. Add a network manually and add an rpc provider for Arbitrum One (for your convenience, [chainlist.org](https://chainlist.org/chain/42161)) 4. In the extension service worker console note the state via `chrome.storage.local.get(console.log)` for NetworkController.networkConfigurations 5. Visit the Network Form for that Network 6. Change the rpcUrl to a different valid one for Arbitrum 7. In the extension service worker console check state via `chrome.storage.local.get(console.log)`, the id for the network configuration that was just edited should not have changed in NetworkController.networkConfigurations 8. Visit a dapp, switch the chain to Arbitrum ``` await window.ethereum.request({ "method": "eth_requestAccounts", }); await window.ethereum.request({ "method": "wallet_switchEthereumChain", "params": [ { "chainId": "0xa4b1" } ] }); ``` 7. In the extension service worker console check state via `chrome.storage.local.get(console.log)`, the dapp should have an entry for the network client we added above SelectedNetworkController.domains 8. Again, Change the rpcUrl to a different valid one for Arbitrum 9. In the extension service worker console check state via `chrome.storage.local.get(console.log)`, the dapp should still be pointed at the same network client id in SelectedNetworkController.domains which should still exist in NetworkController.networkConfigurations ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 2dc3768 - Browse repository at this point
Copy the full SHA 2dc3768View commit details -
chore(webpack): update
html-bundler-webpack-plugin
fromv3.6.5
to…Configuration menu - View commit details
-
Copy full SHA for 2d63c0e - Browse repository at this point
Copy the full SHA 2d63c0eView commit details -
fix: Remove double padding on Snap home page (#26462)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Fixes a newly introduced issue where the Snap home page would have double padding since all Snap UI's are wrapped in `<Container>` as of f461e37, the container component adds 16px of padding by itself. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26462?quickstart=1)
Configuration menu - View commit details
-
Copy full SHA for 211cf40 - Browse repository at this point
Copy the full SHA 211cf40View commit details -
fix: Permit ellipsis should use max 15 char (#26458)
<!-- 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** Display max 15 characters, not max 15 digits, before ellipsis for amounts shown in Permit pages. Updated to use `shortenString` here. ## **Related issues** Fixes: MetaMask/MetaMask-planning#2845 ## **Manual testing steps** 1. Go to test-dapp 2. Trigger Malicious Permit request 3. Observe ellipsis values in a. spending cap in simulation b. value in the message ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** ![CleanShot 2024-08-15 at 21 08 45](https://github.com/user-attachments/assets/020957dd-9204-40b6-afa2-9afacb80d9e0) ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 4ca39b4 - Browse repository at this point
Copy the full SHA 4ca39b4View commit details -
feat: Add footers to Snap home pages (#26463)
<!-- 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? --> Allow `Footer` in Snap home pages, this works in the same way that the new Snap dialogs does, with the exception that default footers are turned off (e.g. a cancel button is not added automatically). Also fixes a few padding problems with home pages. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26463?quickstart=1) ## **Related issues** Closes: #25417 ## **Manual testing steps** 1. Create a Snap that uses `<Footer>` in `onHomePage` 2. See that the footer now shows up 3. Install any existing Snap that doesn't use `Footer` 4. See that no footer is shown ## **Screenshots/Recordings** https://github.com/user-attachments/assets/961ffa9e-59b4-452c-8b0f-906ba6e8c4be ![image](https://github.com/user-attachments/assets/0aecc66e-deb5-483b-acd2-504bc8679310)
Configuration menu - View commit details
-
Copy full SHA for 4e35c94 - Browse repository at this point
Copy the full SHA 4e35c94View commit details -
feat(notifications): use notification services push controller (#26448)
<!-- 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 is another incremental migration, to use the shared/core libraries. This replaces the extension push controller for the `@metamask/notification-services-controller` push service controller. <!-- 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/26448?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** Test full notifications flow, specifically the push notifications. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7916145 - Browse repository at this point
Copy the full SHA 7916145View commit details -
fix:
rpcIdentifierUtility
client side grouping before emitting Cust……omRPC event (#26266) ## **Description** Rather than arbitrarily sending `sha256` hashes over the wire, we should instead handle the lookup/grouping of custom rpcs client-side, and then send over the meaningful resource identifiers of commonly used. Benefits are: 1. No post processing necessary 2. Bypasses the need to hash at all, since `rpcIdentifierUtility` should only return the rpc host when there's a match (not for private eth nodes, for instance) Note: 1. `useSafeChains` hook is inspired by to be merged implementation [here](https://github.com/MetaMask/metamask-extension/blob/brian/salim-build-test/ui/pages/settings/networks-tab/networks-form/use-safe-chains.ts) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26266?quickstart=1) ## **Related issues** Fixes: MMASSETS-298 ## **Manual testing steps** 1. Go to settings and add a Custom network from the custom network form 2. Event will be emitted with `sensitiveProperties` once network gets added ## **Screenshots/Recordings** N/A UX behavior should be the same ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7198656 - Browse repository at this point
Copy the full SHA 7198656View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0997f33 - Browse repository at this point
Copy the full SHA 0997f33View commit details -
build(chore): switch to
defer
since it guarantees execution order o……nce chunked (#26425) `async` script tags execute as soon as the script is downloaded, whereas `defer` will executes in DOM order. We use `async` in our bundle when chunked (by webpack), and this could result in the JS being executed out of order. I haven't actually seen this race condition occur, but it seems possible.
Configuration menu - View commit details
-
Copy full SHA for eff95c7 - Browse repository at this point
Copy the full SHA eff95c7View commit details -
test: Add manual scenario for upgrade testing (#26317)
This PR introduces a manual testing scenario aimed at ensuring the seamless upgrade of MetaMask extension from previous branch to the release branch. The primary goal is to validate that the upgrade process preserves user data, maintains essential functionality, handles popup modals related to upgrade news correctly, and does not introduce any disruptions to the user experience.
Configuration menu - View commit details
-
Copy full SHA for 555eb57 - Browse repository at this point
Copy the full SHA 555eb57View commit details -
chore: downgrade prettier-eslint to match prettier version (#26145)
Configuration menu - View commit details
-
Copy full SHA for f659700 - Browse repository at this point
Copy the full SHA f659700View commit details -
fix: Restore
responsive
e2e driver option (#25932)## **Description** In #18347, we changed the driver option `responsive` to `openDevToolsForTabs`. This was because we had a new test suite that intended to test browser behaviour related to Service Worker restart on manifest v3 builds. Later changes to chrome's mv3 implementation meant that service worker no longer restarted, and those e2e tests no longer exist (`test/e2e/mv3/service-worker-restart.spec.js`). However, this change had an unwanted side effect on another test suite (`test/e2e/tests/metamask-responsive-ui.spec.js`). As @Gudahtt puts it in a slack message: > It looks like in this PR, the responsive option in the Chrome webdriver was replaced with openDevToolsForTabs. This is functionally what that option did, but this doesn't match the semantic purpose for why the browser opened the dev tools. > Browser driver options are shared between the Firefox and Chrome drivers, so now they don't match. The test suite meant to test our UI in a small viewport is now passing in the openDevToolsForTabs option, but this doesn't work for the Firefox browser because it doesn't recognize that option. So the tests are "passing" but they aren't actually running the steps that are meant to be under test. This PR reverts the option to its original name. --------- Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 0562f18 - Browse repository at this point
Copy the full SHA 0562f18View commit details -
## **Description** Adds NEAR Icon for ChainId `397` and `398`. These chains are currently new networks being integrated onto EVM. They are currently in development, but it was requested from their team to preemptively add these icons, before production RPC endpoints are available. For context, here is their proposal: near/NEPs#518 https://chainlist.org/chain/397 https://chainlist.org/chain/398 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26459?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-343 ## **Manual testing steps** Once production RPCs are available, these icons should appear when NEAR RPC gets added in custom networks. ## **Screenshots/Recordings** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 3c066c5 - Browse repository at this point
Copy the full SHA 3c066c5View commit details
Commits on Aug 19, 2024
-
chore: remove token and nft detection modals (#26403)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Removes the modals prompting users to enable token + nft detection. - Reverts #24281 - Reverts only the modal part of #24547 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26403?quickstart=1) ## **Related issues** ## **Manual testing steps** ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 1b22343 - Browse repository at this point
Copy the full SHA 1b22343View commit details -
perf: add parallel fetching for the network fee dropdown (#26489)
<!-- 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 improve the network fee loading in the notification modal from ~3s to ~1s. <!-- 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/26489?quickstart=1) ## **Related issues** Fixes: N/A ## **Manual testing steps** Test opening a notification. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="525" alt="Screenshot 2024-08-17 at 18 19 40" src="https://github.com/user-attachments/assets/bb9abe49-cbc9-4767-82de-656004dadb53"> <!-- [screenshots/recordings] --> ### **After** <img width="523" alt="Screenshot 2024-08-17 at 18 20 44" src="https://github.com/user-attachments/assets/c1ad87ba-54c3-487f-b6e7-7ba0e14d6478"> <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 69696bb - Browse repository at this point
Copy the full SHA 69696bbView commit details -
feat(notifications): use shared libraries NotificationServicesControl…
…ler (#26480) ## **Description** This removes our old `MetaMaskNotificationsController` and uses our shared `NotificationServicesController`. This controller is identical to the old one, but replacing it so we have shared controllers for Mobile and Extension. <!-- 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/26480?quickstart=1) ## **Related issues** Fixes: N/A ## **Manual testing steps** Test Notifications flows ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for e3aef95 - Browse repository at this point
Copy the full SHA e3aef95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c61cd4 - Browse repository at this point
Copy the full SHA 2c61cd4View commit details -
Merge pull request #26497 from MetaMask/master-sync
chore: Master sync
Configuration menu - View commit details
-
Copy full SHA for d553f88 - Browse repository at this point
Copy the full SHA d553f88View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59e1135 - Browse repository at this point
Copy the full SHA 59e1135View commit details -
fix: Fix migration 120.3 error caused by invalid state (#26485)
## **Description** For a small number of users, migration 120.3 is failing due to invalid `TransactionController.transactions` state. We aren't sure yet how this is happening, but we can resolve the problem by updating the migration to delete this invalid state if we detect it. No other state relies on this state, and if it's invalid it won't work properly anyway. The migration has been renamed from 120.3 to 120.6 so that it will be re-run for any users who encountered this migration on v12.0.1 already. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26485?quickstart=1) ## **Related issues** Fixes #26423 ## **Manual testing steps** * Create a dev build from v12.0.0 * Install the dev build from the `dist/chrome` directory and proceed through onboarding * Run this command in the background console: ``` chrome.storage.local.get( null, (state) => { state.data.TransactionController.transactions = {}; chrome.storage.local.set(state, () => chrome.runtime.reload()); } ); ``` * Disable the extension * Switch to v12.0.1 and create a dev build * Enable and reload the extension * You should see in the console that migration 120.3 has failed * Disable the extension * Switch to this branch and create a dev build * Enable and reload the extension * You should see in the console that migration 120.6 has run without error * You can run `chrome.storage.local.get(console.log)` to check that the transactions state has been removed. ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 6aba7d2 - Browse repository at this point
Copy the full SHA 6aba7d2View commit details -
chore: Integrate SnapInsightsController (#26411)
<!-- 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 integrates the `SnapInsightsController` and ports the existing insights functionality to use this controller instead of the existing hooks. This replaces our existing implementations with a `useInsightSnaps` hook that returns all insights for a given confirmation ID directly from the UI state. The intention is that this matches the existing implementation as much as possible, with one caveat that the timing for loading the insights might have changed. Each insight is now added to state as soon as the Snap responds. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26411?quickstart=1) ## **Related issues** Closes: MetaMask/snaps#2568 ## **Manual testing steps** 1. Install one or more transaction insights Snaps 2. Use the test-dapp to trigger transaction confirmations 3. See the transaction insights still works (including the modal) 4. Install one or more signature insights Snaps 5. Use the test-dapp to trigger signature confirmations 6. See that signature insights still works (including the modal)
Configuration menu - View commit details
-
Copy full SHA for d3541a3 - Browse repository at this point
Copy the full SHA d3541a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for e48324c - Browse repository at this point
Copy the full SHA e48324cView commit details -
test: add
driver.clickElementAndWaitForWindowToClose
helper method (#……26449) There are lots of tests that click a button in our popup window (AKA "MetaMask Dialog") that _Eventually_ close the popup, but they don't _wait_ for the popup to close before continuing on with the rest of the test. This can cause some race conditions due to the way our test infrastructure finds windows (by title). The problem is that we look for windows of the name "MetaMask Dialog", and in some cases we find 2, we start referencing the first one, then it closes (as it should), and when we try to reference it again Selenium throws (because the window no longer exists). So this PR introduces a new method "driver.clickElementAndWaitForWindowToClose" that will click the element (just as before), but then wait until the window closes before returning. Co-authored-by: Howard Braham <howrad@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 97246c5 - Browse repository at this point
Copy the full SHA 97246c5View commit details -
docs: Include MV2 build commands in README (#26486)
The build instructions in the README are misleading at the moment because they make no reference to MV2. This could lead to contributors using MV3 builds with Firefox, leading to errors. They have been updated to recommend the MV2 build commands when working with Firefox.
Configuration menu - View commit details
-
Copy full SHA for 81af2e8 - Browse repository at this point
Copy the full SHA 81af2e8View commit details
Commits on Aug 20, 2024
-
feat(snaps): Removed Snaps name-lookup permission code fences (#26393)
<!-- 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 removes code fences for endowment:name-lookup Snap permission, bringing this permission into main build out of Flask. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26393?quickstart=1) ## **Related issues** Fixes MetaMask/snaps#2621 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for dd4c2b4 - Browse repository at this point
Copy the full SHA dd4c2b4View commit details -
fix: Permit Simulation should include decimals in fiat calculation an…
…d show tooltip if shortened (#26523) <!-- 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/26523?quickstart=1) ## **Related issues** Fixes: #26520 ## **Manual testing steps** 1. Go to test-dapp 2. Use ethereum mainnet network 3. Test malicious permit to test lengthier value: 1. run `yarn storybook` 2. go to http://localhost:6006/?path=/story/pages-confirmations-confirm-signatures-signedtypeddatav3orv4--permit-story&args=msgParams.data:3.0001231231212312e+22 3. copy and paste the following into data ``` "{\"types\":{\"EIP712Domain\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"version\",\"type\":\"string\"},{\"name\":\"chainId\",\"type\":\"uint256\"},{\"name\":\"verifyingContract\",\"type\":\"address\"}],\"Permit\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\"}]},\"primaryType\":\"Permit\",\"domain\":{\"name\":\"MyToken\",\"version\":\"1\",\"verifyingContract\":\"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\"chainId\":1},\"message\":{\"owner\":\"0x935e73edb9ff52e23bac7f7e043a1ecd06d05477\",\"spender\":\"0x5B38Da6a701c568545dCfcB03FcB875f56beddC4\",\"value\":30001231231212312138768,\"nonce\":0,\"deadline\":50000000000}}" ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="320" src="https://github.com/user-attachments/assets/d727cbf5-d729-4d31-b6fd-647692bdef30"> ### **After** <img width="320" src="https://github.com/user-attachments/assets/4171d4b9-44ca-418d-8f79-017f59d8edfc"> ### **After with tooltip showing on lengthy fiat value** <img width="320" src="https://github.com/user-attachments/assets/9f2dfcbe-3f34-4ce3-9394-667f4fd2dd54"> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for fc3da74 - Browse repository at this point
Copy the full SHA fc3da74View commit details -
fix: Snap Address component UI/UX (Snaps custom UI) (#26477)
## **Description** Because of concerns around Snap custom UI address component not working as intended with _Pet Names_, decision was made to disable it's interactive UX and display shortened hexadecimal address instead of showing _Pet name_. Changes on this PR will make Address component to ignore clicks and triggering the modal for nicknames. Changes are applied only to Snaps related flows where Snaps components (custom UI) are used. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26477?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2965 ## **Manual testing steps** 1. Try using a Snap with Custom UI which has Address component. 2. Try clicking on the Address component. 3. Nothing should happen when Address component is clicked. 4. Make sure that address component is not displaying nicknames (only short hex address is required). ## **Screenshots/Recordings** ### **Before** ![Screenshot 2024-08-19 at 16 49 24](https://github.com/user-attachments/assets/fa9a83a4-5255-42ed-97af-39f4606de365) ### **After** Customized Interactive UI Snap for the test case, just for reference: ![Screenshot 2024-08-19 at 16 44 51](https://github.com/user-attachments/assets/260b7afa-65f8-446b-aa78-8c3f95b0ae30) ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 8355bcf - Browse repository at this point
Copy the full SHA 8355bcfView commit details -
fix: missing deadline in swaps stx status screen (#25779)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR fixes an issue where the STX status screen for a swap was showing a 0:00 for the timer. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25779?quickstart=1) ## **Related issues** Related to: #25063 ## **Manual testing steps** 1. Make sure Smart Transactions is on (Settings > Advanced) 2. Do a Swap 3. Observe that timer is not 0:00 and is a reasonable number ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-extension/assets/139582705/26fe6167-614f-4771-b35b-10803bc23fc0 ### **After** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-extension/assets/139582705/d92b933d-1011-48b4-bf04-344f275d35db ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] 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: Marta Poling <marta.hourigan.johnson@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9ee22f8 - Browse repository at this point
Copy the full SHA 9ee22f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 111f170 - Browse repository at this point
Copy the full SHA 111f170View commit details -
feat: migrate protect intrinsics test to e2e (#26197)
<!-- 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/26197?quickstart=1) After migrating the global unit tests from Mocha to Jest, the `protect-intrinsics` test started to fail. It seems that the jest environment is not compatible with the lockdown `protect-intrinsics` intends to test. Furthermore, as this test is testing the lockdown of the browser environment, it would probably make more sense to test it in a browser. For this reason, this PR migrates the protect-intrinsics test to run as part of the e2e test suite, as the browser would be a better test environment, closer to production. ## **Related issues** Fixes: MetaMask/MetaMask-planning#2907 ## **Manual testing steps** 1. Run `test:e2e:global` and see the tests pass ## **Screenshots/Recordings** Not applicable ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for da1ebc4 - Browse repository at this point
Copy the full SHA da1ebc4View commit details -
fix: correct duplicate notifications event tracking in global menu (#…
…26525) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR addresses an issue where duplicate event tracking calls were made in the `handleNotificationsClick` function within the `GlobalMenu` component. This redundancy could lead to inaccurate event logging and unnecessary data collection. Also, the PR removes an unnecessary property. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26525?quickstart=1) ## **Related issues** Fixes: N/A ## **Manual testing steps** 1. Open the global menu 2. Click on the notifications menu item 3. Verify that the event is tracked only once ## **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** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 084768a - Browse repository at this point
Copy the full SHA 084768aView commit details -
fix: name being out of sync in account list (#26542)
## **Description** This PR fixes the issue where the account name being created in the connect account flow is out of sync. <!-- 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/26542?quickstart=1) ## **Related issues** Fixes: [25846](#25846) ## **Manual testing steps** 1. Create a snap/hw account 2. Go to test dapp 3. Click connect 4. Click on create new account 5. See that the suggested name is Account 3 6. Create the new account 7. See in the list that there is `Account 3` in the list ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/user-attachments/assets/9c0d511a-a84a-4da8-80e5-4dbadbb7cee6 <!-- [screenshots/recordings] --> ### **After** https://github.com/user-attachments/assets/daf22aed-593f-4e81-8535-11a26cd5e4fc <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 6ed72f0 - Browse repository at this point
Copy the full SHA 6ed72f0View commit details -
fix: stick add team label version to commit hash (#26540)
<!-- 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/26540?quickstart=1) This PR is a one-line fix to stick the version of the add-team-label workflow to the commit hash instead of the branch name. This is particularly important due to the breaking change we are introducing to main, as giving write permissions for pull requests is now required as the workflow was reworked in MetaMask/github-tools#27. ## **Related issues** Fixes: MetaMask/github-tools#24 ## **Manual testing steps** 1. Team label should be added automatically when PR is opened ## **Screenshots/Recordings** Not applicable ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for e95ba94 - Browse repository at this point
Copy the full SHA e95ba94View commit details -
feat: added AccountWatcher as preinstalled snap and added to menu list (
#26402) ## **Description** This PR adds a new button in the Add Account Menu to direct users to the Account Watcher Homepage. The new feature is hidden behind an Experimental Feature toggle that is off by default for a stealthy launch. Key changes include: 1. Added a new menu item in the Add Account Menu for watching Ethereum accounts. 2. Implemented an Experimental Feature toggle for "Watch Ethereum Accounts (Beta)". 3. Added metric tracking for the toggle state. 4. Ensured the toggle is disabled by default. Note: flow and code changes based on [support creation of Bitcoin testnet accounts](#25772) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26402?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#468 (comment) ## **Manual testing steps** 1. Go to Settings > Experimental 2. Locate the "Watch Ethereum Accounts (Beta)" toggle 3. Enable the toggle 4. Navigate to the Add Account Menu 6. Verify that the new "Watch Ethereum account (Beta)" option is visible 7. Click on the new option and confirm it redirects to the Account Watcher Homepage 8. Watch an Ethereum account or ENS (mainnet) 9. Navigate back to Account Watcher Homepage and press the back arrow in the modal header. It _should_ redirect you to the default wallet page. 10. Disable the toggle in Settings > Experimental 11. Verify that the "Watch Ethereum Account" option is no longer visible in the Add Account Menu ## **Screenshots/Recordings** <img width="360" alt="Screenshot 2024-08-13 at 5 30 53 PM" src="https://github.com/user-attachments/assets/3422ce2b-b16a-42df-b4de-c0ff347f6e71"> <img width="354" alt="Screenshot 2024-08-14 at 10 07 13 AM" src="https://github.com/user-attachments/assets/c88250a4-c676-4d3b-80a3-09ad549ce9f2"> https://github.com/user-attachments/assets/6ea131db-f733-4258-83e7-7569bcffd062 ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I've included tests if applicable - [x] I've documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I've applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f6fc55e - Browse repository at this point
Copy the full SHA f6fc55eView commit details -
fix: track
swapAndSend
transaction type (#26535)<!-- 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 `swapAndSend` transaction event is casted to a contract interaction; this PR preserves the type. <!-- 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/26535?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 96b4475 - Browse repository at this point
Copy the full SHA 96b4475View commit details
Commits on Aug 21, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5f524f1 - Browse repository at this point
Copy the full SHA 5f524f1View commit details -
fix(deps): Bump
@metamask/eth-json-rpc-middleware
to^14.0.0
, `@m……etamask/transaction-controller` to `^35.1.1` (#26143) ## **Description** Updates `@metamask/eth-json-rpc-middleware` from `^12.1.1` to `^14.0.0`. - This version bump comes with a large number of regressions, most of them type errors. - This is because the package's dependencies are also updated by multiple major versions, and the changes include improved, stricter types (especially in `@metamask/utils`). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26143?quickstart=1) ## **Related issues** - Closes #26287 - Blocks: - MetaMask/MetaMask-planning#2991 - MetaMask/MetaMask-planning#2810 - #25733 ## Changelog ### Added - Add and export `PPOMMiddlewareRequest` type for `JsonRpcRequest` types that include the `securityAlertResponse` property. - `securityAlertResponse` is defined as both optional and nullable. - Add `PPOMRequest` type for `eth-sendTransaction` requests. ### Changed - **BREAKING:** Bump `@metamask/eth-json-rpc-middleware` from `^12.1.1` to `^14.0.0`. - **BREAKING:** Bump `@metamask/transaction-controller` from `^34.0.0` to `^35.1.1`. - **BREAKING:** Redefine `SecurityAlertsAPIRequest` as a `JsonRpcRequest` type that accepts `unknown[]` as its `params` type. - Widen the `request` parameters of the functions `validateWithController` and `validateWithAPI` to include `SecurityAlertsAPIRequest`. - Bump `@trezor/connect-web` from `9.2.2` to `9.3.0`. ### Fixed - **BREAKING:** Narrow `Params` generic parameter of `createPPOMMiddleware` function from `JsonRpcParams` to `(string | { to: string })[]`. - Add `Params` generic parameter to `handleSnapRequest` function, which defaults to `JsonRpcParams`. - `handleSnapRequest` can now be typed correctly with any `params` object. ### Security - **BREAKING:** Typed signature validation only replaces `0X` prefix with `0x`, and contract address normalization is removed for decimal and octal values. - Threat actors have been manipulating `eth_signTypedData_v4` fields to cause failures in blockaid's detectors. - Extension crashes with an error when performing Malicious permit with a non-0x prefixed integer address. - This fixes an issue where the key value row or petname component disappears if a signed address is prefixed by "0X" instead of "0x". ## **Manual testing steps** ## **Screenshots/Recordings** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 27655eb - Browse repository at this point
Copy the full SHA 27655ebView commit details -
fix: Allowlist Snap UI card component (#26565)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Fixes a problem where the `Card` component was not allowlisted for use in Snaps UI, the UI would crash when attempting to use this specific component. Also tweaks the design of the Card component, aligning the image and handling cases where text could previously overflow. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26565?quickstart=1) ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** Crash ### **After** ![image](https://github.com/user-attachments/assets/8bd24898-f7cb-450a-ae7d-6ba4d964cf84)
Configuration menu - View commit details
-
Copy full SHA for 6dc12d6 - Browse repository at this point
Copy the full SHA 6dc12d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 590f0a9 - Browse repository at this point
Copy the full SHA 590f0a9View commit details -
fix: Fix MV2 build sourcemap upload (#26467)
## **Description** The sourcemaps for MV2 builds (used for Firefox) were not being uploaded to Sentry at all. This resulted in invalid stack traces for Firefox error reports. The Sentry initiatization has been updated to use a `dist` option, letting us differentiate between different types of build for the same version. This is now used to signify which builds are mv2 and which are mv3. Both distributions are uploaded separately as part of the release process (for Flask and main builds; we don't have MV2 builds for MMI or beta). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26467?quickstart=1) ## **Related issues** Fixes #26466 ## **Manual testing steps** Unfortunately I don't know of an easy way to test the CircleCI changes. Those will just have to be read carefully. We can test the application changes and the Sentry script changes though. The two outcomes we want to test are: * The source code and sourcemaps are uploaded correctly for both MV2 and MV3 builds * Application bundles for MV2 and MV3 builds are reporting errors properly tagged as being from an MV2 or MV3 build, and are mapped correctly in Sentry. Here are the steps I used to test this: * Setup a personal Sentry account with a `metamask` project * Create a Custom Integration in Sentry (Settings -> Custom Integrations) * Steps: * Navigate to "Settings -> Custom Integrations" on the Sentry dashboard for your personal Sentry account * Click the purple "Create New Integration" button on the top-right of the page * Select "Internal integration" * Provide any name, and grant it "Admin" access to "Releases" * Alternatively an Auth Token might work as well, but some of the commands used by our script to check for pre-existing releases seem to not work with the `org:ci` scope, which is the only scope available for Sentry auth tokens. * Checkout this branch * Bump the patch version in `package.json` (just in case you need to re-test, this is an easy way to separate old errors/builds from new ones) * Before creating builds, make sure that `SENTRY_DSN_DEV` is set to the DSN of your personal Sentry account's `metamask` project * Run `yarn dist:mv2` to create an MV2 build * Move it to the `dist-mv2` directory (`mv dist dist-mv2`) * Run `yarn dist` to create an MV3 build * Before uploading sourcemaps, make sure that `SENTRY_AUTH_TOKEN` is set to the Auth Token generated from the custom integration earlier. * Run `yarn sentry:publish --org [your organization]` to upload the MV3 build * Run `yarn sentry:publish --org [your organization] --dist mv2` to upload the MV2 build At this point, you should be able to see the releases on the Sentry dashboard along with the artifacts. Look in "Settings -> Projects -> Source Maps" for these. They are labeled by release number and dist. Now, load each build in your browser (one at a time, never both enabled at once) and follow these steps: * Proceed through onboarding, opting in to MetaMetrics * Navigate to the test-dapp and connect to it * Click the "INVALID TRANSACTION TYPE (NOT SUPPORTED)" button in the "Malformed Transactions" section of the test dapp, then reject the confirmation after it shows up. This should trigger an error in Sentry. * Look for the error in Sentry and ensure that the frame that shows `transactionController.updateSecurityAlertResponse(` is mapped to source code correctly (it should resolve to `app/scripts/lib/ppom/ppom-util.ts`). Also check that the `dist` is correct in the "Tags" section of the Sentry issue page. <details> <summary> Here are screenshots of what that looked like for me: </summary> ![Screenshot 2024-08-20 at 19 19 15](https://github.com/user-attachments/assets/36ca0422-71f0-456a-8f1f-5ac980aa5fea) ![Screenshot 2024-08-20 at 19 06 08](https://github.com/user-attachments/assets/25fd681f-c933-41d5-be0e-102fd16f54b2) </details> ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 5781edb - Browse repository at this point
Copy the full SHA 5781edbView commit details -
feat: Redesign Approve confirmation (#26464)
<!-- 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** Implements redesigned confirmation screens for `tokenMethodApprove` (ERC721 and ERC1155). Includes e2e and integration tests. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26464?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2936 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 72b9e86 - Browse repository at this point
Copy the full SHA 72b9e86View commit details -
chore: Rename
permittedChains
permission to `endowment:permitted-ch……ains` (#26534) ## **Description** This renames the `permittedChains` permission to `endowment:permitted-chains` for consistency with other endowment permissions. This permission is not used in production yet, so it does not require a migration. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26534?quickstart=1)
Configuration menu - View commit details
-
Copy full SHA for c9df9f1 - Browse repository at this point
Copy the full SHA c9df9f1View commit details -
fix: Snapshot unit tests (#26585)
<!-- 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 snapshots on unit tests. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26585?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for ab79f0d - Browse repository at this point
Copy the full SHA ab79f0dView commit details -
feat(sentry): Adding extensionId and installType to Sentry (#26482)
<!-- 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 want to differentiate between errors from our published extension, and errors from side-loaded extensions or forks that we don't support. Adding `extensionID` to our Sentry logs helps us do that. Following @Gudahtt's suggestion to use https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/getSelf to add `installType` as well. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26482?quickstart=1) ## **Related issues** Fixes: #26444 ## **Manual testing steps** 1. Run app, go to network tab in devtools 2. Filter for sentry envelope request and verify ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> <img width="1728" alt="image" src="https://github.com/user-attachments/assets/9427b0f7-f1a0-4305-b16e-c48e3ec8e408"> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for e174704 - Browse repository at this point
Copy the full SHA e174704View commit details -
feat: Add approval static simulation (#26514)
<!-- 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/26514?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#3010 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 1a5003d - Browse repository at this point
Copy the full SHA 1a5003dView commit details -
feat: update add team label workflow (#26548)
<!-- 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/26548?quickstart=1) This small PR removes the local implementation of the add-team-label workflow from the repository and uses the updated reusable workflow from the github-tools repository. ## **Related issues** Fixes: MetaMask/github-tools#24 ## **Manual testing steps** 1. Team label should be added automatically to the PR ## **Screenshots/Recordings** Not applicable <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for c85cf5b - Browse repository at this point
Copy the full SHA c85cf5bView commit details -
feat: account watcher e2e (#26524)
## **Description** This PR introduces end-to-end (E2E) tests for the account watcher feature. The tests cover the following scenarios: - Adding a watch account using a valid externally owned address (EOA). - Ensuring the “Send,” “Swap,” and “Bridge” buttons are disabled for watch accounts. - Handling various invalid inputs, such as missing prefixes, invalid addresses, and ENS names. - Preventing the import of private keys for watched addresses. - Verifying the absence of the “Show private key” button for watch accounts. - Removing and re-adding a watch account to validate proper account management. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26524?quickstart=1) ## **Related issues** Fixes: MetaMask/accounts-planning#438 ## **Manual testing steps** 1. Build for test: `yarn build:test` 2. Run the new e2e: `yarn test:e2e:single test/e2e/accounts/create-watch-account.spec.ts --browser=chrome --leave-running` ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 187da88 - Browse repository at this point
Copy the full SHA 187da88View commit details
Commits on Aug 22, 2024
-
test: add tests for insufficient funds alert (#26512)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Adds e2e test to trigger the insufficient balance alert. Adds required data-testids for the test. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26512?quickstart=1) ## **Related issues** Fixes: [#2971](MetaMask/MetaMask-planning#2971) ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
Configuration menu - View commit details
-
Copy full SHA for a4f5970 - Browse repository at this point
Copy the full SHA a4f5970View commit details -
feat: add transaction performance metrics (#26332)
Refactor `trace` utility function to support no callback argument and only start a trace to be manually ended later. Add `endTrace` utility function. Add `endBackgroundTrace` action to contribute to background metrics from the UI. Always trace if in developer build or `METAMASK_DEBUG` is set. Pass `trace` callback and `traceContext` to `TransactionController`.
Configuration menu - View commit details
-
Copy full SHA for 862c9c3 - Browse repository at this point
Copy the full SHA 862c9c3View commit details -
feat: Add contract deployment redesigned transaction screen (#26382)
## **Description** Introduces new contract deployment screen. Includes end to end test. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26382?quickstart=1) ## **Related issues** Fixes: [2874](MetaMask/MetaMask-planning#2874) ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 8f8a0ba - Browse repository at this point
Copy the full SHA 8f8a0baView commit details -
fix: flaky test `Test Snap Name Lookup tests name-lookup functionalit…
…...` (#26583) <!-- 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** Race condition due to fill action (sendKeys) which cause inconsistent behaviour when entering the string. (see vid) This is fixed using paste into the field, which pastes the whole string into the input at once. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26583?quickstart=1) ## **Related issues** Fixes: #22702 ## **Manual testing steps** 1. Check ci - updated test is run x5 times ## **Screenshots/Recordings** [snap-paste.mp4.webm](https://github.com/user-attachments/assets/3d50e94f-9f1b-4115-a0d5-66a14c22acbb) ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Harika Jetpoluru <153644847+hjetpoluru@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 796d053 - Browse repository at this point
Copy the full SHA 796d053View commit details -
Configuration menu - View commit details
-
Copy full SHA for b3865bc - Browse repository at this point
Copy the full SHA b3865bcView commit details -
feat: new receive flow (#26148)
<!-- 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/26148?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#2383 ## **Manual testing steps** 1. Got to the home menu 2. A "Portfolio" button should be on top of the main token display 3. Click on the "Receive" button 4. A QR code should pop up, showing the logo in the middle 5. A new copy address button should be present 6. The address of the account should be displayed (please check video underneath) ## **Screenshots/Recordings** https://github.com/user-attachments/assets/ca969d32-8852-447d-8be3-62a9cfbae90b ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: George Marshall <george.marshall@consensys.net>
Configuration menu - View commit details
-
Copy full SHA for 82eb13e - Browse repository at this point
Copy the full SHA 82eb13eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 41736f0 - Browse repository at this point
Copy the full SHA 41736f0View commit details -
refactor: Use generic helper function to initiate signatures (#26584)
## **Description** Refactor signature tests to use a helper function in order to load the test state. Also fixes the flaky SIWE tests by adding an extra scroll to bottom [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26584?quickstart=1) ## **Related issues** Fixes: [#24468](#24468) [#26445](#26445) ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for ed44d49 - Browse repository at this point
Copy the full SHA ed44d49View commit details -
refactor: Replace usages of the deprecated
setProviderType
(#22619)## **Description** All usages of the deprecated `NetworkController` method `setProviderType` have been replaced. The method `setActiveNetwork` is now used instead; it was updated in a recent release to accept types as well as IDs. ## **Related issues** N/A ## **Manual testing steps** No functional changes ## **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 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 d2d48d2 - Browse repository at this point
Copy the full SHA d2d48d2View commit details -
feat: Integrate Snaps into the redesigned confirmations (#26435)
<!-- 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 integrates Snaps insights into the redesigned signature confirmations, showing them at the bottom using the new `Delineator` component. Snaps are exposed to the new confirmations via `SnapsSection` and `SnapInsight`, these two components use the newly written `useInsightSnaps` hook. By request of @eriknson this PR makes some slight adjustments to the `Delineator` component, tweaking the font colors, adding a disabled state etc. This PR does not integrate Snaps into the alert system, that'll be done in a follow-up PR at a later date. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26435?quickstart=1) ## **Related issues** Closes MetaMask/snaps#2530 ## **Manual testing steps** 1. Install the signature insights example Snap from https://metamask.github.io/snaps/test-snaps/latest/ 2. Use the test-dapp to trigger any signature confirmation 3. See that insights are now present at the bottom of the signature confirmation. ## **Screenshots/Recordings** ![image](https://github.com/user-attachments/assets/55476591-34b4-4da3-afb5-91a634494590)
Configuration menu - View commit details
-
Copy full SHA for d81d69b - Browse repository at this point
Copy the full SHA d81d69bView commit details -
fix: bump accounts controller and migration to fix undefined selected…
…Account (#26573) <!-- 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 bumps the `AccountsController` and introduces a new migration. The `updateAccounts` methods from the `AccountsController` now checks if the selectedAccount is undefined and recovers from this. The migration updates the selectedAccount values that are not defined. <!-- 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/26573?quickstart=1) ## **Related issues** Fixes: #26377 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 759b92e - Browse repository at this point
Copy the full SHA 759b92eView commit details -
chore: add user IDs to send page analytics (#26600)
<!-- 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 currently anonymize all send page events. This PR introduces logic that allows for explicitly overriding this logic for vetted send page events, so that we can create funnels to track user dropoff. <!-- 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/26600?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Log the payload in `_track()` 2. Complete a swap+send transaction, starting from the home page 3. Ensure send flow events are fired w/ user IDs ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 6088797 - Browse repository at this point
Copy the full SHA 6088797View commit details -
chore: anonymize send analytic properties #26627 (#26628)
<!-- 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** Certain send analytics can be used to correlated metric IDs with analytics data; this PR marks these as sensitive. <!-- 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/26628?quickstart=1) ## **Related issues** Copies: #26627 (cherry-pick) into develop ## **Manual testing steps** 1. Log payload in `_track()` 2. Trigger all targeted events 3. Ensure properties are available IFF the event is anonymous ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for c965bcc - Browse repository at this point
Copy the full SHA c965bccView commit details -
chore: set bridge network allowlists from feature flags (#26147)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This change adds controller and redux methods for setting/getting src and dest network allowlists used within the cross-chain swaps experience <!-- 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/26147?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/METABRIDGE-866 ## **Manual testing steps** N/A. This doesn't change any user functionality yet, just setting up getters/setters ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> Sample data added to state: ``` { metamask: { bridgeState: { srcNetworkAllowlist: ['0x1', '0xa', '0xe708'], destNetworkAllowlist: ['0x1', '0xa', '0xe708'], } } } ``` ## **Pre-merge author checklist** - [X] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 857c5fa - Browse repository at this point
Copy the full SHA 857c5faView commit details
Commits on Aug 23, 2024
-
docs: Add publish a release to Sentry flow steps (#26605)
<!-- 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 documentation for testing the publish release to process to Sentry. This is based on the worked done [in this PR](#26467) by @Gudahtt and the testing steps recorded in the PR description. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26605?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Check the rendered version [here](https://github.com/MetaMask/metamask-extension/blob/doc-publish-release-sentry/development/README.md#debugging-the-publish-release-flow) ## **Screenshots/Recordings** n/a ## **Pre-merge author checklist** - [X] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 1065c49 - Browse repository at this point
Copy the full SHA 1065c49View commit details -
feat: upgrade network controller to v20 (#26150)
<!-- 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** Upgrades the network controller to v20, where `providerConfig` is removed from state. To handle this, the `getProviderConfig` selector is shimmed to return the same data as before. Places that were accessing state directly are now sent through this selector. A migration is added to remove `providerConfig` from state. A helper function `mockNetworkState` is added to abstract the network schema from unit + e2e tests. This will simplify test writing and the next network controller upgrade, where this state will change again. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26150?quickstart=1) ## **Related issues** ## **Manual testing steps** ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com> Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> Co-authored-by: Michele Esposito <34438276+mikesposito@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 800a9d3 - Browse repository at this point
Copy the full SHA 800a9d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b8831a - Browse repository at this point
Copy the full SHA 7b8831aView commit details -
chore: Polish multichain token list styles (#26300)
## **Description** [Bump Avatar Network marginRight to 16px](5648f9c) [Tweak top & bottom padding on AssetList item](d64de36) [Bump border width on AvatarBase and set to default background](7dd7a1d) [Convert stakeableTitle to in-line rather than Flexbox to avoid incosistent padding](50affff) [Bump font weight on Stake button to match token title](ec3ed11) [Update snapshots](4f53c6b) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26300?quickstart=1) ## **Related issues** Fixes: MMASSETS-328 ## **Manual testing steps** 1. Go to token listing with several tokens 2. Verify that styles matches direction given in #26187 3. ## **Screenshots/Recordings** <img width="358" alt="Screenshot 2024-08-01 at 2 37 28 PM" src="https://github.com/user-attachments/assets/ed0025d2-5b3d-43fc-903d-f5bab72f04cc"> <img width="357" alt="Screenshot 2024-08-01 at 2 38 36 PM" src="https://github.com/user-attachments/assets/53f39d33-067a-4ab3-9f20-65209361062a"> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
Configuration menu - View commit details
-
Copy full SHA for 0a96c7d - Browse repository at this point
Copy the full SHA 0a96c7dView commit details
Commits on Aug 26, 2024
-
chore: bump smart transactions controller (#26644)
## **Description** Bumps smart transaction controller, so a patch is no longer needed [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26644?quickstart=1) ## **Related issues** ## **Manual testing steps** ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 23aabcd - Browse repository at this point
Copy the full SHA 23aabcdView commit details -
fix: flaky test `Increase Token Allowance increases token spending ca…
…..` (#26640) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes the flaky test <!-- 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/26640?quickstart=1) ## **Related issues** Fixes: #26438 ## **Manual testing steps** To execute the test locally or in codespaces yarn yarn build:test:webpack ENABLE_MV3=false yarn test:e2e:single test/e2e/tests/tokens/increase-token-allowance.spec.js --browser=chrome Validate the test should pass in CI ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for ee52d48 - Browse repository at this point
Copy the full SHA ee52d48View commit details -
Configuration menu - View commit details
-
Copy full SHA for e1f9b96 - Browse repository at this point
Copy the full SHA e1f9b96View commit details -
fix: flaky test `Vault Decryptor Page is able to decrypt the vault us…
…..` due to empty file load (#26612) <!-- 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 vault decrypt test is flaky, at the point where we upload the vault file into the browser. I added logs for checking the file size, and I saw that when the file failed to upload, the file size was really small. The problem seemed to start appearing [after this PR](https://github.com/MetaMask/metamask-extension/pull/26402/files) was merged. The changes doesn't seem related, but it updated a lot of dependencies, some of them related to cryptography/addres derivation packages (see screenshot below) - which could somehow affect somehow the timings. Fix: - Added a function to get the file size - Added a retry logic to check the file size before uploading it, making sure it's bigger than a conservatory size See logic in action: ![image](https://github.com/user-attachments/assets/4445c42a-5f83-45bc-83c0-3c28c3e34371) Notes and future work: - there isn't an easy way to determine when Chrome has finished writing into the file, since this can depend on numerous factors ( Data Changes, Internal Buffering, Extension Activity, Browser Events..) - currently we are testing the log file, instead of the ldb file, as described in the Vault Decryptor [instructions](https://support.metamask.io/managing-my-wallet/secret-recovery-phrase-and-private-keys/how-to-recover-your-secret-recovery-phrase/). I haven't find the ldb file, after waiting ~30seconds and closing/repoening the browser, however, that file might also exibit flakiness as Chrome would also need to write to it. For this reason, in this PR the test is kept as it was, and it only focuses on fixing the spec with the retry logic. - there is another test proposed by @davidmurdoch , for reading the vault value from the file and then using the function "Paste into the field" for testing that. I've decided to do this on a separate PR and keep this PR focused on the current issue only, to unblock ci faster [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26612?quickstart=1) ## **Related issues** Fixes: #26572 ## **Manual testing steps** 1. Check ci https://app.circleci.com/jobs/github/MetaMask/metamask-extension/3612121 ## **Screenshots/Recordings** When the error appears, we can see how the file size is really small `19 bytes`. ![Screenshot from 2024-08-22 15-44-24](https://github.com/user-attachments/assets/3a427a81-2731-4aa8-8d47-eac53ea5058c) whereas when the test is successful, the file size is bigger `7358117 bytes`. ![Screenshot from 2024-08-22 16-02-18](https://github.com/user-attachments/assets/1c390f32-48fa-42ea-85d2-9d8819305d9f) See changes mentioned, after flakiness started appearing: ![Screenshot from 2024-08-22 16-30-16](https://github.com/user-attachments/assets/57b65530-5734-49a1-a4ba-da31230befa5) ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 80b28d6 - Browse repository at this point
Copy the full SHA 80b28d6View commit details -
fix: flaky tests `Sentry errors before initialization, after opting i…
…nto metrics @no-mmi should capture UI application state`... (#26648) After looking into the Sentry tests, I've seen that sometimes they are flaky as there isn't enough time for the requests to happen, in these ocurrences: ``` // Wait for Sentry request await driver.wait(async () => { const isPending = await mockedEndpoint.isPending(); return isPending === false; }, 3000); ``` Being more conservative and increasing the wait time to `8000` makes test pass consistently as it has enough time to see the requests.
Configuration menu - View commit details
-
Copy full SHA for 5aeac0f - Browse repository at this point
Copy the full SHA 5aeac0fView commit details -
fix: flaky test `Phishing Detection should navigate the user to Phish…
…Fort to dispute a Phishfort Block` (#26651) There is a race condition where we assert the currentUrl is the desired one. This can create a race condition, where the current Url is not yet the expected one. ``` assert.equal( await driver.getCurrentUrl(), `https://github.com/phishfort/phishfort-lists/issues/new?title=[Legitimate%20Site%20Blocked]%20127.0.0.1&body=http%3A%2F%2F127.0.0.1%2F`, ); ``` Instead, we need to **wait** for the correct url to be the current url.
Configuration menu - View commit details
-
Copy full SHA for a21d0ce - Browse repository at this point
Copy the full SHA a21d0ceView commit details -
chore: update gitignore (#26642)
Ignore new branding images until release
Configuration menu - View commit details
-
Copy full SHA for 4ca92eb - Browse repository at this point
Copy the full SHA 4ca92ebView commit details -
Merge pull request #26641 from MetaMask/master-sync
chore: Master sync
Configuration menu - View commit details
-
Copy full SHA for 28d784e - Browse repository at this point
Copy the full SHA 28d784eView commit details -
fix: catch error for getTokenStandardAndDetails (#26269)
## **Description** Related to this reported Sentry error: https://metamask.sentry.io/issues/5660074561/?environment=production&project=273505&query=firstRelease%3A12.0.0&referrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=22 Inside Import-nfts-modal.js we call `getTokenStandardAndDetails` without catching the case where this call fails. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26269?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. To mock this behavior you can go to fct getTokenStandardAndDetails and throw an error there 2. Import any NFT 3. The import NFT modal should not stay hanging after import ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/e75867ca-ecbc-451b-b18e-0f55d6f10dfe ### **After** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/7c647d80-7470-45ae-a482-7a6cfb095a82 ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for d9e989e - Browse repository at this point
Copy the full SHA d9e989eView commit details
Commits on Aug 27, 2024
-
fix(snaps): Use ApprovalType instead DIALOG_APPROVAL_TYPES in confirm…
…ation page (#26655) <!-- 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 uses proper constant from `ApprovalType` instead of `DIALOG_APPROVAL_TYPES`. This required updating `@metamask/controller-utils` to `^11.1.0`. I manually reviewed all breaking changes from `controller-utils` and found no breakages in the metamask-extension. <!-- 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/26655?quickstart=1) ## **Related issues** Fixes MetaMask/core#4598 ## **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** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for aea494d - Browse repository at this point
Copy the full SHA aea494dView commit details -
chore: MMI adds back the current Tx confirmation view to MMI (#26539)
<!-- 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** While we don't support the new confirmation UI for Txs (MMI flow got broken with the upgrade), we need to show the current one to 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 Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 5b6e7ef - Browse repository at this point
Copy the full SHA 5b6e7efView commit details -
fix: update moonbeam and moonriver network and token logos (#26677)
## **Description** This PR updates the network and token logos for moonbeam and moonriver networks. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26677?quickstart=1) ## **Related issues** Fixes: Related: #25267 ## **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** https://github.com/user-attachments/assets/06413f29-64e7-4927-9bad-00677424a7a2 ### **After** https://github.com/user-attachments/assets/a3100c81-0988-4709-8c77-b12003b06643 ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 4d82374 - Browse repository at this point
Copy the full SHA 4d82374View commit details -
feat: updated ui for adding chain id screen (#25777)
This PR is to update the add network chain screen ## **Related issues** Fixes: [2660](MetaMask/MetaMask-planning#2660) ## **Manual testing steps** 1. Run extension with CHAIN_PERMISSIONS feature flag 2. Connect with Uniswap 3. Try adding new network from Uniswap 4. See the new UI for confirmations screen ## **Screenshots/Recordings** ### **Before** https://github.com/user-attachments/assets/0bee3a7f-741a-48bf-9d98-64aa3dbef8af ### **After** https://github.com/user-attachments/assets/e9fa3345-2a83-4afb-be12-e637dc3a6af8 ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Jonathan Bursztyn <jonathan@bursztyn.io>
Configuration menu - View commit details
-
Copy full SHA for a1239e6 - Browse repository at this point
Copy the full SHA a1239e6View commit details
Commits on Aug 28, 2024
-
test: [Snaps E2E] Add test cases for signature confirmations redesign…
… to signature insights snaps test (#26691) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This adds test cases for signature confirmations redesign to signature insights snaps 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/26691?quickstart=1) ## **Related issues** Fixes: #26634 ## **Manual testing steps** 1. Run test individually or check CI ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for c2e9fc4 - Browse repository at this point
Copy the full SHA c2e9fc4View commit details -
fix: Address design review on contract interaction and deployment red… (
#26659) …esigned screens <!-- 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/26659?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] --> <img width="360" alt="Screenshot 2024-08-26 at 16 47 19" src="https://github.com/user-attachments/assets/7de3c13e-efca-473c-9ae1-6fe46be64e82"> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 999dd56 - Browse repository at this point
Copy the full SHA 999dd56View commit details -
perf: add trace for UI startup (#26636)
Support use of `trace` utility function in non-asynchronous contexts. Remove `getMetaMetricsEnabled` check. Generate default ID if omitted when starting and ending traces.
Configuration menu - View commit details
-
Copy full SHA for 84f4557 - Browse repository at this point
Copy the full SHA 84f4557View commit details -
feat: Added Edit networks screen modal (#26097)
This PR is to add edit Networks Modal NOTE: Functionality of the modal is not included in this PR ## **Related issues** Fixes: [2685](MetaMask/MetaMask-planning#2685) ## **Manual testing steps** 1. Run Storybook 2. Check the Edit Networks Modal component, it should look like the figma design 3. This PR doesn't have the functionality implemented ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** NA ### **After** ![Screenshot 2024-07-29 at 1 50 43 PM](https://github.com/user-attachments/assets/7617da12-308c-44c8-b9d0-666f34ba38db) ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 682cc8a - Browse repository at this point
Copy the full SHA 682cc8aView commit details -
fix: adding missing token images (#26708)
## **Description** Missed to push this update along with this PR: #26677 It should update the token images 🙏 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26708?quickstart=1) ## **Related issues** Fixes: Related: #26677 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 37ed370 - Browse repository at this point
Copy the full SHA 37ed370View commit details -
chore: update @metamask/bitcoin-wallet-snap to 0.5.0 (#26701)
## **Description** Bump the BTC Snap to version 0.5.0. - This new release adds the new `getMaxSpendableBalance` method to fetch the max spendable amount/balance from your account. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26701?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** N/A ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for c3069ee - Browse repository at this point
Copy the full SHA c3069eeView commit details -
feat: Add metrics to track where signature rejection occurred (#26469)
Add a property location to the Signature Rejected event depending on where it was rejected from. location: `confirmation` or `alert_friction_modal` ## **Description** [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26469?quickstart=1) ## **Related issues** Fixes: [#2703](MetaMask/MetaMask-planning#2703) ## **Manual testing steps** NOTE: All scenarios below have an E2E test in place along with this PR. TC1: 1. Go to the test dapp 2. Initiate any signature 3. Reject it from the confirmation screen 4. Look for the Signature Rejected event in the network tab, the request should have the property location: "confirmation" TC2: 1. Go to the test dapp 2. Initiate the signature 'SIGN IN WITH EHTEREUM (BAD DOMAIN) 3. Click on confirm 4. Reject it from the alert 5. Look for the Signature Rejected event in the network tab, the request should have the property location: "alert_friction_modal" ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x ] I've completed the PR template to the best of my ability - [x ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 99d2c86 - Browse repository at this point
Copy the full SHA 99d2c86View commit details -
perf: use an interstitial page to load
popup.html
; load scripts usi……ng `defer`ed script tags (#26555) This PR removes `load-*.js` helpers and load scripts using the `defer` property instead. This change drastically improves the performance of the extension but greatly reduces perceived performance because the browser won't display the popup until the DOMContentLoaded event. But improve perceived performance is mostly regained by initially loading an asset-less HTML file, `popup-init.html`, that then redirects to the slower (but much faster than before this PR) `popup.html`. This was initially authored by @Gudahtt, I've just updated and optimized it to work with the both build systems. One change I did not make was moving scripts to the `head`. I don't think putting the scripts in the head does anything in our case[^1] other than potentially require that we wait for `DOMContentLoaded` before querying for the app container. Note: In Firefox we continue to use `popup.html`. Firefox is very slow to render the `popup-init.html` redirect, and it renders the page only partially anyway, making the UX feel very janky. It also doesn't delay opening the popup until `DOMContentLoaded`, like Chrome does, so the issue `popup-init.html` solves doesn't do anything anyway. --- Here is side-by-side video comparison of `develop` vs `popup-defer-scripts`. This video displays the elapsed time from clicking the MetaMask Fox to Lock Screen render. The end of the video is a frame-by-frame comparison of the new "jank" this PR introduces. The develop branch renders the fox immediately, whereas the popup-defer-scripts branch renders an empty page for about 15 milliseconds. These stats aren't representative of real world performance, but are intended to illustrate relative performance and perceived performance. Both builds were created by running `yarn build dist`. https://github.com/user-attachments/assets/38b856ca-d269-48f7-b305-19f4b9c6dce8 --- ### Manual Testing 1. build with `yarn dist` 2. install into your browser and go through onboarding 3. open MetaMask 4. Marvel at how much faster it is --- Closes [#25721](#25721) [^1]: our HTML files are very tiny, and thus will be loaded all in one go, we don't have to worry about packets being lost and retransmitted over the network, delaying the browser's preload scanner. Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 82c3634 - Browse repository at this point
Copy the full SHA 82c3634View commit details -
feat: Temporarily hide Approve redesigned pages (#26676)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Since we want to ship Approve, increaseAllowance and Revoke pages on the same release, we're holding off shipping the page for the Approve transaction type for the time being. This is accomplished by creating two separate arrays `REDESIGN_USER_TRANSACTION_TYPES` and `REDESIGN_DEV_TRANSACTION_TYPES` to control which transaction types are shown for the user feature toggle and for the developer settings toggle respectively. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26676?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#3080 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for fb58241 - Browse repository at this point
Copy the full SHA fb58241View commit details -
test: Add integration tests for network busy alert (#26679)
<!-- 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 an integration test to check that the alert is displayed when network is busy. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26679?quickstart=1) ## **Related issues** Fixes: [#2977](MetaMask/MetaMask-planning#2977) ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 6b4257b - Browse repository at this point
Copy the full SHA 6b4257bView commit details -
## **Description** Adds icons for IoTeX network: https://chainlist.org/chain/4689 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26723?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-353 ## **Manual testing steps** 1. Add IoTeX network as custom network 2. Icon should display in Network List as well as Native token for IoTeX ## **Screenshots/Recordings** <img width="362" alt="Screenshot 2024-08-28 at 8 38 03 AM" src="https://github.com/user-attachments/assets/fe6f3ef5-aa8c-4309-8bc7-39d711297ff7"> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 46bf4e8 - Browse repository at this point
Copy the full SHA 46bf4e8View commit details -
fix:
wallet_addEthereumChain
does not attach aresult
under certa……in conditions (#26726) ## **Description** Fix issue where `wallet_addEthereumChain` does not attach a result to the response object when the currently selected rpcUrl matches the request. This would cause the request to get "stuck" in the `QueuedRequestController` queue, preventing the queue from progressing and causing confusing behavior. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26726?quickstart=1) ## **Related issues** Fixes: #26706 ## **Manual testing steps** 1. Go to https://chainlist.org/?chain=56&search=blast 2. Connect the wallet and add Blast Mainnet (For other chains it appears Chainlist cycles to the next rpcUrl you don't have which avoids this bug, so use Blast) 3. After successfully adding the network, attempt to add Blast again. Nothing should happen. 4. Then go to https://faucet.quicknode.com/blast/sepolia (or any dapp where your wallet isn't already connected) and attempt to connect 5. You should be able to connect as usual ## **Screenshots/Recordings** ### **Before** https://github.com/user-attachments/assets/b997027f-1c62-4279-87c6-0fe70989abb3 ### **After** https://github.com/user-attachments/assets/08307a88-8f6f-44cd-9b75-877aadb1805a ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for fb61b0f - Browse repository at this point
Copy the full SHA fb61b0fView commit details
Commits on Aug 29, 2024
-
feat: adding context to get current confirmation in re-designed confi…
…rmation pages PR-1 (#26587)
Configuration menu - View commit details
-
Copy full SHA for 5174392 - Browse repository at this point
Copy the full SHA 5174392View commit details -
fix: flaky test `Navigation Signature - Different signature types ini…
…tiates and queues multiple signatures and confirms` (#26707) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** There is a known race-condition that can display the signature queue in unexpected order, so the test had a delay to address that, but this doesn't fix the issue in all occasions. In this PR we add a deterministic condition, to ensure this doesn't happen: we wait until we find an element for the given signature, before triggering a new one, making sure signatures are ordered. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26707?quickstart=1) ## **Related issues** Fixes: #26507 ## **Manual testing steps** 1. Check ci ## **Screenshots/Recordings** The artifacts and local run show how sometimes we start with the signature page 2, instead of the1, making the subsequent steps to fail. ![image](https://github.com/user-attachments/assets/08cab78b-8805-4b69-b2ff-eb703d68e0a6) ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 830e11a - Browse repository at this point
Copy the full SHA 830e11aView commit details -
fix: flaky test `Click bridge button @no-mmi loads portfolio tab from…
… asset overview when flag is turned off` (#26654) <!-- 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 test is flaky at the step of importing the token and then clicking the asset. Instead of going to the asset page, we remain at the home page. This is likely due to a re-render, but after checking the test steps, we can see how several steps are not needed and we can tweak fixtures to achieve the desired state. Once using fixtures, the flaky step is removed, so there's no need to fix that, as that step will not occur now. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26654?quickstart=1) ## **Related issues** Fixes: #26437 ## **Manual testing steps** 1. Check ci ## **Screenshots/Recordings** The test was flaky at the point after importing the token and then clicking the asset (nothing happens). See pic: ![image](https://github.com/user-attachments/assets/ef274da7-690b-4673-af24-3a1e05a69d8d) ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 024f94e - Browse repository at this point
Copy the full SHA 024f94eView commit details -
test: Add integration test for gas estimate failed alert (#26681)
<!-- 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 an integration test to check the gas estimate failure alert [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26681?quickstart=1) ## **Related issues** Fixes: [#2972](MetaMask/MetaMask-planning#2972) ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 2f30256 - Browse repository at this point
Copy the full SHA 2f30256View commit details -
test: [Snaps E2E] Add changes to fix flakiness in Snaps UI Images test (
#26725) <!-- 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** Made changes to remove deprecated method for switching to dialog window, as well as changing some click elements to clickElementAndWaitForWindowToClose <!-- 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/26725?quickstart=1) ## **Related issues** Fixes: #26574 ## **Manual testing steps** 1. Run test individually multiple times and check that CI passes ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 1f8193b - Browse repository at this point
Copy the full SHA 1f8193bView commit details -
test: Add integration test for insufficient gas (#26711)
<!-- 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 integration test for checking insufficient gas alert [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26711?quickstart=1) ## **Related issues** Fixes: [#2976](MetaMask/MetaMask-planning#2976) ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for f354888 - Browse repository at this point
Copy the full SHA f354888View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9813d25 - Browse repository at this point
Copy the full SHA 9813d25View commit details -
chore: MMI Fixes passing the state to route using history.push (#26722)
<!-- 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** Passing the state to route using history.push in order to get these values in the final view. They were not arriving before. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 690deb4 - Browse repository at this point
Copy the full SHA 690deb4View commit details -
fix: Stop using a hardcoded Snap ID for notifications (#26739)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Fixes a mistake not caught during review where `NotificationListItemSnap` uses a hardcoded example Snap ID for the icon of all Snaps. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26739?quickstart=1)
Configuration menu - View commit details
-
Copy full SHA for 1342797 - Browse repository at this point
Copy the full SHA 1342797View commit details -
Merge pull request #26737 from MetaMask/master-sync
chore: Master sync
Configuration menu - View commit details
-
Copy full SHA for 3e5ac65 - Browse repository at this point
Copy the full SHA 3e5ac65View commit details -
fix: Sentry app state null data to show null as value. (#26522)
<!-- 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** Updating the sentry app state to show a null value when the data is null when the property is not masked. <!-- 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/26522?quickstart=1) ## **Related issues** Fixes: #25959 ## **Manual testing steps** Run `this.stateHooks.getSentryAppState()` in the console and check if the unmasked null values are stored as null. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for e8273d8 - Browse repository at this point
Copy the full SHA e8273d8View commit details -
chore: Bump
storybook
,@storybook/*
to^7.6.20
, `storybook-dark……-mode` from `^3.0.3` to `^4.0.2` (#26703)
Configuration menu - View commit details
-
Copy full SHA for 11f4a57 - Browse repository at this point
Copy the full SHA 11f4a57View commit details -
fix: rename migration 126 to 121.1 (#26742)
This PR renames migration 126 to 121.1. The reason for this renaming is that commit 759b92e is being cherry-picked into version 12.1.1. Between version 12.1.1 and the develop branch, there are missing migrations. To avoid skipping these migrations in subsequent releases, we need to rename migration 126 to 121.1.
Configuration menu - View commit details
-
Copy full SHA for b9173da - Browse repository at this point
Copy the full SHA b9173daView commit details -
refactor: extract Send-specific functionality out of AssetPicker (#26558
) <!-- 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 goal of this PR is to make the AssetPicker component experience-agnostic so that it can be reused within other experiences. Since the AssetPicker was initially built for the Swap+Send experience, most changes here are for moving send-specific logic out of the component, including: * move Send event tracking callbacks to send page * add new AssetPicker props for setting custom modal header and visible tabs * define an experience-agnostic `asset` prop, which contains the minimal required information about the selected asset * use accurate type definitions for assets and props <!--This also includes a style change to make spacing consistent between the AssetPicker modal header and contents.--> <!-- 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/26349?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/METABRIDGE-890 ## **Manual testing steps** 1. Swap+Send asset selection experience should not change ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before -> After** ![Screenshot 2024-08-20 at 6 50 34 PM](https://github.com/user-attachments/assets/1b907e17-c204-478f-8590-b286166893e1) ![Screenshot 2024-08-20 at 6 52 10 PM](https://github.com/user-attachments/assets/363e994b-9a7a-44b6-ad41-2effa3f79d2d) ![Screenshot 2024-08-20 at 6 50 44 PM](https://github.com/user-attachments/assets/4fb081f4-d404-4eca-9034-64facf95ee5c) ![Screenshot 2024-08-20 at 6 52 18 PM](https://github.com/user-attachments/assets/a5c8f693-867d-427b-aac8-bfa8f1343706) <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [X] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for f086572 - Browse repository at this point
Copy the full SHA f086572View commit details -
chore: Bump Snaps dependencies (#26675)
## **Description** Bump snaps packages to latest and handle breaking changes. Summary of changes in the snaps deps: - Add `Selector` component - Add `Icon` component - Add `color` prop to `Text` component - `Button` children are now allowed to be `Image` and `Icon` Closes MetaMask/snaps#2640 Closes MetaMask/MetaMask-planning#1615 Closes MetaMask/snaps#2658 Closes MetaMask/snaps#2639 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26675?quickstart=1) --------- Co-authored-by: Hassan Malik <41640681+hmalik88@users.noreply.github.com> Co-authored-by: Olaf Tomalka <olaf@tomalka.me>
Configuration menu - View commit details
-
Copy full SHA for e177ba0 - Browse repository at this point
Copy the full SHA e177ba0View commit details -
fix: Improve migration 121.1 state validation (#26773)
## **Description** Migration 121.1 has been updated to include more state validation, so that it does not throw an error in the event that state is corrupted in some unexpected way. Unexpected corrupted state is now reported to Sentry as well. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26773?quickstart=1) ## **Related issues** Related: #26377 ## **Manual testing steps** The unit tests outline the scenarios that the added validation are meant to cover. Probably not worth anyone's time to manually test those. To test the migration in general though, here are the steps: * Create a dev build from v12.1.0 * Install the dev build from the `dist/chrome` directory and proceed through onboarding * Run this command in the background console: ``` chrome.storage.local.get( null, (state) => { state.data.AccountsController.internalAccounts.selectedAccount = 'unknown id'; chrome.storage.local.set(state, () => chrome.runtime.reload()); } ); ``` * The extension should now be in a broken state * Note that you can use this same script to corrupt state in other ways to test other scenarios * Disable the extension * Switch to this branch and create a dev build * Enable and reload the extension * You should see in the console that migration 121.1 has run without error * You can run `chrome.storage.local.get(console.log)` to check that the AccountsController state is now valid * The extension should no longer be broken ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 761562a - Browse repository at this point
Copy the full SHA 761562aView commit details -
feat: implement client side malicious network request detection (#25839)
## **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/25839?quickstart=1) This PR introduces three new updates to the MetaMask extension with the new phishing controller version 12.0.0. 1. **Removal of PhishFort List References**: MetaMask no longer has a contract with PhishFort and has also been introducing false positives to the blocklist, all references to the PhishFort blocklist have been removed as we no longer use their list in the new PhishingController version. 2. **Support for Checking Malicious IPFS Domains**: The phishing controller now includes support for detecting and blocking known malicious IPFS domains. 3. **Management of a C2 Domain Blocklist**: The PhishingController now supports a client-side blocklist specifically for Command & Control (C2) domains. The extension now checks network requests against this blocklist and redirects users the the phishing warning page. ## **Manual testing steps** 1. Go to a website known to be on the C2 domain blocklist. For now we made our test website `https://develop.d3bkcslj57l47p.amplifyapp.com/` have a malicious C2 Request that is on our blocklist. 2. Attempt to interact with the site. 3. Verify that on visiting the website you get redirected to the red Metamask phishing page. 5. Repeat with a site that is not on the blocklist to confirm normal operation. <!-- [Insert screenshots/recordings showing network requests being blocked with a warning message] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability. - [x] I’ve included tests for the new client-side detection feature. - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format where applicable. - [x] I’ve applied the right labels on the PR. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g., pulled and built the branch, run the app, tested the code changes). - [ ] I confirm that 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: Jacob Lebowitz <augmentedmode@MacBook-Pro.lan> Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for be04ca8 - Browse repository at this point
Copy the full SHA be04ca8View commit details -
feat: Update Polygon from
MATIC
toPOL
(#26671)## **Description** Add `POL` token image, and maps it to Polygon Network config. See [blog post](https://polygon.technology/blog/save-the-date-matic-pol-migration-coming-september-4th-everything-you-need-to-know) for more context. Adds chain collision check to not flag `POL` as scam token Adds migration to overwrite `MATIC` ticker to `POL` [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26671?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-362 ## **Manual testing steps** 1. When adding Polygon as a network from `FEATURED_RPCS`, ticker symbol should be POL 2. When switching to Polygon Mainnet, ticker should be POL (not MATIC) 2. Can import `Polygon Network Token` on Ethereum Mainnet 3. Can import `Matic Network Token` on Ethereum Mainnet (backward compatibility) > Note, that both `MATIC` and `POL` erc20 tokens can already be imported on Ethereum Mainnet, so this behavior should remain unchanged. Additionally, when a user upgrades to this build, migration should run and overwrite ticker from MATIC to POL: 1. Install a previous build (checkout `develop` and `yarn && yarn start` should be fine here) -> Polygon Network should show `MATIC` as ticker. You may need to remove and re-add Polygon Network, as migrations are incremental. 2. checkout to this branch, `yarn && yarn start`, migration 128 should run (Running migration 128... in console) -> Polygon Network should show `POL` as ticker ## **Screenshots/Recordings** Before: <img width="358" alt="Screenshot 2024-08-27 at 2 39 15 PM" src="https://github.com/user-attachments/assets/241b6d60-03a9-49fa-9b1e-61aeeb8b3f9f"> <img width="358" alt="Screenshot 2024-08-27 at 2 39 36 PM" src="https://github.com/user-attachments/assets/fc3f933e-3b27-4dbe-943b-3453a9967687"> After: <img width="356" alt="Screenshot 2024-08-27 at 1 47 40 PM" src="https://github.com/user-attachments/assets/5e849387-3a16-471c-8587-33ea40ca7a81"> <img width="357" alt="Screenshot 2024-08-27 at 1 48 11 PM" src="https://github.com/user-attachments/assets/fd96c3c8-560b-4e06-aa0a-07c3838d5e0b"> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 1b4417d - Browse repository at this point
Copy the full SHA 1b4417dView commit details
Commits on Aug 30, 2024
-
fix: flaky test `Test Snap Interactive UI test interactive ui element…
…s` (#26792) <!-- 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 snap fails at the point of trying to find the scrolll element. The problem is that the previous `Connect` action takes several seconds, and the default timeout for the next action is not enough (1000ms) -- see video. In this PR we increase the timeout to 3000ms. Note: having a bigger timeout is safe, as if the condition is met earlier, it will jump to the next step, so we won't wait for the complete 3000ms when it's not needed. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26792?quickstart=1) ## **Related issues** Fixes: #26793 ## **Manual testing steps** 1. Check ci ## **Screenshots/Recordings** See how the Connect action takes some time, making the subsequent action to fail, as the scroll element cannot be located within the timeout https://github.com/user-attachments/assets/5c38cf2c-a15f-47a1-8279-6f200747f69e ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for b7120e0 - Browse repository at this point
Copy the full SHA b7120e0View commit details
Commits on Sep 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for cc8d487 - Browse repository at this point
Copy the full SHA cc8d487View commit details -
fix: move porfolio button next to price amount (#26867) (#26897)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> Cherry picks: #26867 into V12.5.0 ## **Description** Moves the portfolio button so that it's next to the token price amount. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26867?quickstart=1) ## **Related issues** Fixes: MetaMask/MetaMask-planning#3201 ## **Manual testing steps** 1. Go to the portfolio page 2. Check that the Portfolio button is present next to the price amount of token 3. Click it to test it works fine ## **Screenshots/Recordings** <img width="324" alt="Screenshot 2024-09-03 at 22 57 32" src="https://github.com/user-attachments/assets/ab9a9818-d9d1-438e-9b66-1335c4e8c1c6"> <img width="331" alt="Screenshot 2024-09-03 at 22 58 54" src="https://github.com/user-attachments/assets/f260799c-9e22-40dd-8fb8-1d26d3c011ed"> ### **Before** <img width="348" alt="Screenshot 2024-09-03 at 15 46 36" src="https://github.com/user-attachments/assets/ca261c96-dd93-4699-8e51-d73cf5823cb2"> ### **After** <img width="331" alt="Screenshot 2024-09-03 at 22 58 54" src="https://github.com/user-attachments/assets/f260799c-9e22-40dd-8fb8-1d26d3c011ed"> ## **Pre-merge author checklist** - [X] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [ ] 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). - [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 bdc819a - Browse repository at this point
Copy the full SHA bdc819aView commit details
Commits on Sep 24, 2024
-
fix: Don't show third party notice for preinstalled Snaps (#27319)
<!-- 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. --> We show a third party notice when installing or connecting to a Snap for the first time. Preinstalled Snaps are first party Snaps however, so we don't need to show the warning for these Snaps. I've implemented some logic that checks if the requested Snap is a preinstalled Snap, and only show the third party notice if it's not. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27319?quickstart=1) Fixes: MetaMask/MetaMask-planning#3325. Assuming you have not accepted the third party notice before: 1. Go to [the Test Snaps page](https://metamask.github.io/snaps/test-snaps/latest/) 2. Connect to the preinstalled Snap, and verify the notice is _not_ shown 3. Connect to any other Snap, and verify that the notice _is_ shown - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Configuration menu - View commit details
-
Copy full SHA for 9fbf6d9 - Browse repository at this point
Copy the full SHA 9fbf6d9View commit details