Skip to content
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

Closed
wants to merge 112 commits into from

Commits on Aug 16, 2024

  1. 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.
    jiexi authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    2dc3768 View commit details
    Browse the repository at this point in the history
  2. chore(webpack): update html-bundler-webpack-plugin from v3.6.5 to…

    … `v3.17.3` (#26371)
    
    Fixes #26290
    
    Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
    davidmurdoch and legobeat authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    2d63c0e View commit details
    Browse the repository at this point in the history
  3. 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)
    FrederikBolding authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    211cf40 View commit details
    Browse the repository at this point in the history
  4. 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.
    digiwand authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    4ca39b4 View commit details
    Browse the repository at this point in the history
  5. 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)
    FrederikBolding authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    4e35c94 View commit details
    Browse the repository at this point in the history
  6. 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>
    Prithpal-Sooriya and metamaskbot authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    7916145 View commit details
    Browse the repository at this point in the history
  7. 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>
    gambinish and legobeat authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    7198656 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0997f33 View commit details
    Browse the repository at this point in the history
  9. 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.
    davidmurdoch authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    eff95c7 View commit details
    Browse the repository at this point in the history
  10. 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.
    chloeYue authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    555eb57 View commit details
    Browse the repository at this point in the history
  11. chore: downgrade prettier-eslint to match prettier version (#26145)

    #23106 added a version of `prettier-eslint` which uses prettier v3. This project otherwise uses prettier v2. This downgrades the package to the latest version still supporting prettier v2.
    
    ## **Related issues**
    
    - #23106
    - #24828
    
    Co-authored-by: Mark Stacey <markjstacey@gmail.com>
    legobeat and Gudahtt authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    f659700 View commit details
    Browse the repository at this point in the history
  12. 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>
    pedronfigueiredo and Gudahtt authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    0562f18 View commit details
    Browse the repository at this point in the history
  13. chore: Add Near Icon (#26459)

    ## **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.
    gambinish authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    3c066c5 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. 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.
    bergeron authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    1b22343 View commit details
    Browse the repository at this point in the history
  2. 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.
    Prithpal-Sooriya authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    69696bb View commit details
    Browse the repository at this point in the history
  3. 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>
    Prithpal-Sooriya and metamaskbot authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    e3aef95 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2c61cd4 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #26497 from MetaMask/master-sync

    chore: Master sync
    Gudahtt authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    d553f88 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    59e1135 View commit details
    Browse the repository at this point in the history
  7. 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.
    Gudahtt authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    6aba7d2 View commit details
    Browse the repository at this point in the history
  8. 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)
    FrederikBolding authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    d3541a3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    e48324c View commit details
    Browse the repository at this point in the history
  10. 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>
    davidmurdoch and HowardBraham authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    97246c5 View commit details
    Browse the repository at this point in the history
  11. 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.
    Gudahtt authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    81af2e8 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2024

  1. 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.
    ritave authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    dd4c2b4 View commit details
    Browse the repository at this point in the history
  2. 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.
    digiwand authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    fc3da74 View commit details
    Browse the repository at this point in the history
  3. 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.
    david0xd authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    8355bcf View commit details
    Browse the repository at this point in the history
  4. 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>
    infiniteflower and martahj authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    9ee22f8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    111f170 View commit details
    Browse the repository at this point in the history
  6. 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.
    itsyoboieltr authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    da1ebc4 View commit details
    Browse the repository at this point in the history
  7. 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.
    matteoscurati authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    084768a View commit details
    Browse the repository at this point in the history
  8. 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.
    montelaidev authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    6ed72f0 View commit details
    Browse the repository at this point in the history
  9. 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.
    itsyoboieltr authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e95ba94 View commit details
    Browse the repository at this point in the history
  10. 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>
    k-g-j and metamaskbot authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    f6fc55e View commit details
    Browse the repository at this point in the history
  11. 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.
    BZahory authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    96b4475 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2024

  1. Configuration menu
    Copy the full SHA
    5f524f1 View commit details
    Browse the repository at this point in the history
  2. 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>
    MajorLift and metamaskbot authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    27655eb View commit details
    Browse the repository at this point in the history
  3. 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)
    FrederikBolding authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    6dc12d6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    590f0a9 View commit details
    Browse the repository at this point in the history
  5. 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.
    Gudahtt authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    5781edb View commit details
    Browse the repository at this point in the history
  6. 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.
    pedronfigueiredo authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    72b9e86 View commit details
    Browse the repository at this point in the history
  7. 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)
    Mrtenz authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    c9df9f1 View commit details
    Browse the repository at this point in the history
  8. 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.
    pedronfigueiredo authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    ab79f0d View commit details
    Browse the repository at this point in the history
  9. 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>
    vthomas13 and Gudahtt authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    e174704 View commit details
    Browse the repository at this point in the history
  10. 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.
    pedronfigueiredo authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    1a5003d View commit details
    Browse the repository at this point in the history
  11. 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.
    itsyoboieltr authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    c85cf5b View commit details
    Browse the repository at this point in the history
  12. 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>
    k-g-j and metamaskbot authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    187da88 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. 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>
    pnarayanaswamy and georgewrmarshall authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a4f5970 View commit details
    Browse the repository at this point in the history
  2. 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`.
    matthewwalsh0 authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    862c9c3 View commit details
    Browse the repository at this point in the history
  3. 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.
    pedronfigueiredo authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8f8a0ba View commit details
    Browse the repository at this point in the history
  4. 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>
    seaona and hjetpoluru authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    796d053 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b3865bc View commit details
    Browse the repository at this point in the history
  6. 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>
    jonybur and georgewrmarshall authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    82eb13e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    41736f0 View commit details
    Browse the repository at this point in the history
  8. 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.
    pnarayanaswamy authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ed44d49 View commit details
    Browse the repository at this point in the history
  9. 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.
    Gudahtt authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d2d48d2 View commit details
    Browse the repository at this point in the history
  10. 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)
    FrederikBolding authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d81d69b View commit details
    Browse the repository at this point in the history
  11. 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>
    montelaidev and metamaskbot authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    759b92e View commit details
    Browse the repository at this point in the history
  12. 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.
    BZahory authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    6088797 View commit details
    Browse the repository at this point in the history
  13. 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.
    BZahory authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c965bcc View commit details
    Browse the repository at this point in the history
  14. 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.
    micaelae authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    857c5fa View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2024

  1. 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.
    seaona authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    1065c49 View commit details
    Browse the repository at this point in the history
  2. 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>
    4 people authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    800a9d3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7b8831a View commit details
    Browse the repository at this point in the history
  4. 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>
    gambinish and georgewrmarshall authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    0a96c7d View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2024

  1. 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>
    bergeron and legobeat authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    23aabcd View commit details
    Browse the repository at this point in the history
  2. 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.
    hjetpoluru authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    ee52d48 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e1f9b96 View commit details
    Browse the repository at this point in the history
  4. 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.
    seaona authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    80b28d6 View commit details
    Browse the repository at this point in the history
  5. 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.
    seaona authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    5aeac0f View commit details
    Browse the repository at this point in the history
  6. 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.
    seaona authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    a21d0ce View commit details
    Browse the repository at this point in the history
  7. chore: update gitignore (#26642)

    Ignore new branding images until release
    vinnyhoward authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    4ca92eb View commit details
    Browse the repository at this point in the history
  8. Merge pull request #26641 from MetaMask/master-sync

    chore: Master sync
    Gudahtt authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    28d784e View commit details
    Browse the repository at this point in the history
  9. 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.
    sahar-fehri authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    d9e989e View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2024

  1. 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>
    ritave and metamaskbot authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    aea494d View commit details
    Browse the repository at this point in the history
  2. 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.
    zone-live authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    5b6e7ef View commit details
    Browse the repository at this point in the history
  3. 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.
    sahar-fehri authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    4d82374 View commit details
    Browse the repository at this point in the history
  4. 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>
    NidhiKJha and jonybur authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    a1239e6 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. 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.
    bowensanders authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    c2e9fc4 View commit details
    Browse the repository at this point in the history
  2. 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.
    pedronfigueiredo authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    999dd56 View commit details
    Browse the repository at this point in the history
  3. 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.
    matthewwalsh0 authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    84f4557 View commit details
    Browse the repository at this point in the history
  4. 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.
    NidhiKJha authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    682cc8a View commit details
    Browse the repository at this point in the history
  5. 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.
    sahar-fehri authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    37ed370 View commit details
    Browse the repository at this point in the history
  6. 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.
    ccharly authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    c3069ee View commit details
    Browse the repository at this point in the history
  7. 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.
    pnarayanaswamy authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    99d2c86 View commit details
    Browse the repository at this point in the history
  8. 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>
    davidmurdoch and Gudahtt authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    82c3634 View commit details
    Browse the repository at this point in the history
  9. 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.
    pedronfigueiredo authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    fb58241 View commit details
    Browse the repository at this point in the history
  10. 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.
    pnarayanaswamy authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    6b4257b View commit details
    Browse the repository at this point in the history
  11. fix: Add IOTX icon (#26723)

    ## **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.
    gambinish authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    46bf4e8 View commit details
    Browse the repository at this point in the history
  12. fix: wallet_addEthereumChain does not attach a result 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.
    adonesky1 authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    fb61b0f View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2024

  1. Configuration menu
    Copy the full SHA
    5174392 View commit details
    Browse the repository at this point in the history
  2. 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.
    seaona authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    830e11a View commit details
    Browse the repository at this point in the history
  3. 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.
    seaona authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    024f94e View commit details
    Browse the repository at this point in the history
  4. 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.
    pnarayanaswamy authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    2f30256 View commit details
    Browse the repository at this point in the history
  5. 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.
    bowensanders authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    1f8193b View commit details
    Browse the repository at this point in the history
  6. 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.
    pnarayanaswamy authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    f354888 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9813d25 View commit details
    Browse the repository at this point in the history
  8. 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.
    zone-live authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    690deb4 View commit details
    Browse the repository at this point in the history
  9. 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)
    FrederikBolding authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    1342797 View commit details
    Browse the repository at this point in the history
  10. Merge pull request #26737 from MetaMask/master-sync

    chore: Master sync
    Gudahtt authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    3e5ac65 View commit details
    Browse the repository at this point in the history
  11. 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.
    NiranjanaBinoy authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    e8273d8 View commit details
    Browse the repository at this point in the history
  12. chore: Bump storybook, @storybook/* to ^7.6.20, `storybook-dark…

    …-mode` from `^3.0.3` to `^4.0.2` (#26703)
    legobeat authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    11f4a57 View commit details
    Browse the repository at this point in the history
  13. 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.
    montelaidev authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    b9173da View commit details
    Browse the repository at this point in the history
  14. 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.
    micaelae authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    f086572 View commit details
    Browse the repository at this point in the history
  15. 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>
    3 people authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    e177ba0 View commit details
    Browse the repository at this point in the history
  16. 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.
    Gudahtt authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    761562a View commit details
    Browse the repository at this point in the history
  17. 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>
    3 people authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    be04ca8 View commit details
    Browse the repository at this point in the history
  18. feat: Update Polygon from MATIC to POL (#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.
    gambinish authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    1b4417d View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. 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.
    seaona authored Aug 30, 2024
    Configuration menu
    Copy the full SHA
    b7120e0 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Version v12.4.0

    metamaskbot authored and danjm committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    cc8d487 View commit details
    Browse the repository at this point in the history
  2. 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.
    jonybur authored and danjm committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    bdc819a View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. 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.
    Mrtenz committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    9fbf6d9 View commit details
    Browse the repository at this point in the history