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

Version v12.3.0 #26973

Merged
merged 296 commits into from
Sep 25, 2024
Merged

Version v12.3.0 #26973

merged 296 commits into from
Sep 25, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jul 18, 2024

  1. Configuration menu
    Copy the full SHA
    f60b43e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    def6b15 View commit details
    Browse the repository at this point in the history
  3. ci: Disabling non-lint CI on the l10n_crowdin_action branch (#25809)

    Co-authored-by: Mark Stacey <[email protected]>
    Co-authored-by: Howard Braham <[email protected]>
    3 people authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    e562224 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. fix: notification slowness and crashes (#25946)

    ## **Description**
    
    This is a series of fixes added to core libraries. Adding to extension,
    and soon we will migrate extension to use shared libraries.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25946?quickstart=1)
    
    ## **Related issues**
    
    MetaMask/core#4530
    MetaMask/core#4531
    MetaMask/core#4532
    MetaMask/core#4533
    MetaMask/core#4536
    
    #25749
    
    ## **Manual testing steps**
    
    1. Create multiple accounts
    2. Go to notification settings page
    3. Wait for settings to load, and try toggling notifications
    
    Before: some settings would error or not load
    After: you should be able to toggle accounts and not see errors.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    [<!-- [screenshots/recordings]
    -->](#25749)
    
    ### **After**
    
    
    https://www.loom.com/share/49b582e8c33b4199bdafc994a3f6087f?sid=9f94a885-351b-4fee-84d8-f72c97506e7d
    
    ## **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 Jul 19, 2024
    Configuration menu
    Copy the full SHA
    003ee98 View commit details
    Browse the repository at this point in the history
  2. fix: show current network if domains are undefined (#25960)

    If Experimental settings `Select Networks for each site` is off, the
    domains are undefined. In this case, the fallback network should be the
    current network.
    
    ## **Related issues**
    
    Fixes:
    [#25887](#25887)
    
    ## **Manual testing steps**
    
    1. Connect MetaMask to Dapp
    2. Go to Permissions, check the logo of network is specific to connected
    network
    3. Turn the experimental setting off, Go back to all permissions page.
    Now the network logo should be same as globally selected network for all
    the dapps
    
    ## **Screenshots/Recordings**
    
    
    ### **Before**
    
    ![Screenshot 2024-07-19 at 12 06
    29 AM](https://github.com/user-attachments/assets/53fc2ee5-2c0f-46ff-892c-3ee48ad28a6d)
    
    ### **After**
    
    
    https://github.com/user-attachments/assets/fe0bed9e-c050-4ab8-8607-bf933e1eac63
    
    
    
    ## **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 Jul 19, 2024
    Configuration menu
    Copy the full SHA
    3454333 View commit details
    Browse the repository at this point in the history
  3. fix: fixed max width for permissions page (#25870)

    For full screen view, the permissions page width should follow the page
    size what we have for other screens
    
    ## **Related issues**
    
    Fixes: #25678 
    
    ## **Manual testing steps**
    
    1. Go to Full Screen View
    2. Go to Permissions Page
    3. Check the Permissions Page has same width as the other pages
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    ![Screenshot 2024-07-16 at 6 30
    05 PM](https://github.com/user-attachments/assets/09de7ac4-ec50-4fb0-bea2-0f489e9d3164)
    
    
    ### **After**
    ![Screenshot 2024-07-16 at 6 26
    32 PM](https://github.com/user-attachments/assets/ee9d0ccd-17dd-4283-a305-d77787c4673e)
    
    
    ## **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 Jul 19, 2024
    Configuration menu
    Copy the full SHA
    61c7d16 View commit details
    Browse the repository at this point in the history
  4. test: Add integration tests for permit simulation section (#25856)

    <!--
    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/25856?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    [#24681](#24681)
    
    ## **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 Jul 19, 2024
    Configuration menu
    Copy the full SHA
    52f4868 View commit details
    Browse the repository at this point in the history
  5. fix(multichain): use accounts{Added,Removed} to fetch/clear balances (#…

    …25884)
    
    ## **Description**
    
    Fixing the balances fetching that happens a bit too frequently.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25884?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#527
    
    ## **Manual testing steps**
    
    - Use `yarn start:flask`
    - Enable Bitcoin support: Settings > Experimental > Bitcoin toggles
    - Create Bitcoin accounts (mainnet, testnet or both)
    - You should see your balances as usual
    
    Extra steps:
    - You can check your `Network` tabs on your dev-tools and look for
    blockchair requests
    - You should see 1 request (for each Bitcoin accounts) upon account
    creation (to fetch the initial balance)
    - You should NOT see any new requests when you're adding new Ethereum/HW
    accounts or when selecting a new accounts (basically any changes to the
    `AccountsController` should not trigger new fetches)
    - You MIGHT see new requests after some time (around 10min, which is the
    average block time of Bitcoin), to refresh the balance
    
    ## **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.
    ccharly authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    8574f94 View commit details
    Browse the repository at this point in the history
  6. feat: Show the Close extension button on the Smart Transaction Status…

    … Page for a pending dapp transaction (#25965)
    dan437 authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    9ad686b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    43b8031 View commit details
    Browse the repository at this point in the history
  8. fix: fix overlapping modals (#25962)

    ## **Description**
    
    Fixes overlapping modals
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25962?quickstart=1)
    
    ## **Related issues**
    
    Fixes:#25465
    
    ## **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**
    
    
    https://github.com/user-attachments/assets/51d94c8d-3901-4d4d-8cb8-abad8a0de1b6
    
    
    <!-- [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 Jul 19, 2024
    Configuration menu
    Copy the full SHA
    29936c5 View commit details
    Browse the repository at this point in the history
  9. fix: fix link redirection (#25983)

    <!--
    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/25983?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] -->
    
    
    https://github.com/user-attachments/assets/94733e67-e6b2-4dc9-9cfc-c814f2fad605
    
    
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    
    https://github.com/user-attachments/assets/236c12c4-cb98-45ee-9919-cc1c100e68ba
    
    
    ## **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 Jul 19, 2024
    Configuration menu
    Copy the full SHA
    20c5baf View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c9907bd View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ee1dfe4 View commit details
    Browse the repository at this point in the history
  12. feat: Adding state per window in e2e, excluding null state (#25900)

    A suggestion from @hjetpoluru, this PR aims to add better context to
    artifacts by logging state from multiple windows, as well as removing
    state artifacts that are null. This is similar to #25453.
    Also fixes an mv3 offscreen issue found by @HowardBraham. The runner
    would get hung up on taking a screenshot if it was the offscreen window.
    <!--
    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/25900?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #25874
    
    ## **Manual testing steps**
    
    1. Run a failing e2e test
    2. Verify that the test-failure-state.json artifact are now numbered and
    the number matches the relevant screenshot
    
    ## **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.
    vthomas13 authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    38f2d6b View commit details
    Browse the repository at this point in the history
  13. fix: vertically align asset image (#25988)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    In #25470, the `BadgeWrapper` was implemented for the send flow. By
    default, this component uses `inline-block` styling and `align-self:
    start` to allow the network icon and asset icon to maintain alignment;
    this prevents the existing flex box styling from being applied.
    
    This is mitigated by wrapping the component in a `Box` component.
    
    <!--
    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/25988?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Go to send page
    2. Select a recipient
    3. Ensure that the token image is vertically aligned
    4. Switch to an NFT
    5. Ensure that the NFT image is vertically aligned
    
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <img width="365" alt="Screenshot 2024-07-19 at 1 58 15 PM"
    src="https://github.com/user-attachments/assets/a1cd7f6d-ec76-444e-bd7d-0bc8cf8732f4">
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    <img width="365" alt="Screenshot 2024-07-19 at 1 59 48 PM"
    src="https://github.com/user-attachments/assets/a9eda763-2469-43bc-8edb-3dfa959caf51">
    
    ## **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.
    BZahory authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    62e01ef View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. chore: MMI-5248 introduce the token allowance functionality for MMI (#…

    …25967)
    
    <!--
    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 code fences to enable the token allowance functionality for MMI by
    following the correct flow.
    
    ## **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 Jul 22, 2024
    Configuration menu
    Copy the full SHA
    922e0f8 View commit details
    Browse the repository at this point in the history
  2. fix: flaky test Settings Redirects to ENS domains when user inputs EN…

    …S into address bar (#25782)
    
    <!--
    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 fix is based on adding a css class `controller-loaded` whenever the
    initialization is done and using this class to determine when to proceed
    with the test action of navigating to a new page, where we try to
    resolve an ens address.
    
    The author of this work is @davidmurdoch
    [PR](#25334) , and I
    just fixed the conflicts with develop.
    
    
    
    Note: 
    When I tried to do this in David's branch I got this error, and also if
    I try to merge this branch into his, then I see >900 changes against
    develop, which is quite strange 🤔 so I'm now targeting develop
    directly in this branch, on top of his commits.
    
    ![Screenshot from 2024-07-11
    20-58-14](https://github.com/user-attachments/assets/c6d43195-2985-409c-88f0-48218ade03f4)
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25782?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.
    
    ---------
    
    Co-authored-by: David Murdoch <[email protected]>
    seaona and davidmurdoch authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    39e00e9 View commit details
    Browse the repository at this point in the history
  3. fix: updated switch to this account condition (#25609)

    On the connections, if user has only one account connected and that
    account is not the selected account, the account list item options
    wasn't showing switch to this account option. This PR fixes it
    
    NOTE: If reviewers are not able to check the connections page on develop
    (That work is done via this PR
    #25500). Please route
    to connections page via all permissions
    
    ## **Related issues**
    
    Fixes: NA
    
    ## **Manual testing steps**
    
    1. Connect single account in MetaMask to a Dapp
    2. Switch to an account which is not connected to the Dapp
    3. Go to Connections Page, click the three dot menu
    4. Switch to this account option should show
    5. Switch to this account option should not show when there is only one
    account connected to Dapp and that is also the selected account
    
    ## **Screenshots/Recordings**
    
    
    ### **Before**
    
    
    https://github.com/MetaMask/metamask-extension/assets/39872794/6e733bca-0d82-42d9-ad7e-1ee41d7aea14
    
    
    
    ### **After**
    
    
    https://github.com/MetaMask/metamask-extension/assets/39872794/5e95b5c1-30e6-4285-a1f0-8cbc0b605fd2
    
    
    
    
    
    ## **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 Jul 22, 2024
    Configuration menu
    Copy the full SHA
    09eab65 View commit details
    Browse the repository at this point in the history
  4. fix: vault-decryption test since the order of announcement modals c…

    …hanged (#25997)
    
    <!--
    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 for `vault-decrypt` since the announcement
    order for the Token Detection and NFT Detection has been changed, due to
    [this PR](#25962)
    
    Check ci failure:
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92592/workflows/69a4ac30-668a-4358-93b7-2a80fab3a43c/jobs/3447582/steps
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25997?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #25998
    
    ## **Manual testing steps**
    
    1. Check ci
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92639/workflows/ce56ec73-4feb-4496-9be4-ab836c818728/jobs/3448859
    
    ## **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/602dc129-3d99-4665-abf3-8c136879af70
    
    
    
    ### **After**
    
    
    https://github.com/user-attachments/assets/d7cef953-7ceb-435a-b523-a22f13c7b6ea
    
    
    
    
    ## **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 Jul 22, 2024
    Configuration menu
    Copy the full SHA
    4aa5b28 View commit details
    Browse the repository at this point in the history
  5. feat: add utility function to get supported chains from the Security …

    …Alerts API (#25716)
    
    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    <!--
    Write a short description of the changes included in this pull request,
    also include relevant motivation and context. Have in mind the following
    questions:
    1. What is the reason for the change?
    2. What is the improvement/solution?
    -->
    
    This PR aims to include a new utility function to get supported chains
    from the Security Alerts API when enabled.
    
    #### Related Repository
    Refer to the [Security Alerts API
    repository](https://github.com/consensys-vertical-apps/va-mmcx-security-alerts-api)
    for more details.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25716?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#2846
    
    ## **Manual testing steps**
    
    1. Test blockaid regression
    
    2. add the envs 
    ```shell
    SECURITY_ALERTS_API_URL='https://security-alerts.dev-api.cx.metamask.io'
    SECURITY_ALERTS_API_ENABLED='true'
    ```
    - Go to test dapp and trigger on of the malicious signatures
    - To verify in chrome go to dev tools > network. Search for
    `security-alerts` and find the call to the API service.
    
    Existing PPOM logic should function as before, even with the above
    environment variables added, due to the fallback to the controller in
    the event of an error.
    
    ## **Screenshots/Recordings**
    
    
    [supported-chains.webm](https://github.com/MetaMask/metamask-extension/assets/45455812/60d0bcec-579d-42a7-8faf-e1be00dda1d8)
    
    <!-- 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.
    vinistevam authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    2103232 View commit details
    Browse the repository at this point in the history
  6. fix: yarn:start:test:flask is broken Lavapack is not defined (#25995

    )
    
    <!--
    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 script `yarn:start:test:flask` is broken and whenever we try to run
    a test we get `Lavapack is not defined`. The problem is that we are
    adding these 2 flags `--apply-lavamoat=false --snow=false` , which
    shouldn't be there, in the same way, we don't use these flags for the ci
    flask test build (mv3), which is the reason why this doesn't fail in ci.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25995?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #25996
    
    ## **Manual testing steps**
    
    1. Run locally `yarn:start:test:flask` before the fix and run a test -->
    see the build is broken
    2. Now remove the flags and do it again --> see the build is successful
    and tests start running
    
    ## **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/784a8ab4-4a91-431e-b0bd-322f7f2bfd11
    
    
    
    ### **After**
    
    
    https://github.com/user-attachments/assets/0541cae8-f9b3-46e6-84c1-470fd8eee90e
    
    
    
    
    
    ## **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: Maarten Zuidhoorn <[email protected]>
    seaona and Mrtenz authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    e3691c0 View commit details
    Browse the repository at this point in the history
  7. feat: Move ENABLE_CONFIRMATION_REDESIGN feature flag to the developer…

    … settings page (#25520)
    
    <!--
    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/25520?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    [#2620](MetaMask/MetaMask-planning#2620)
    
    ## **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 Jul 22, 2024
    Configuration menu
    Copy the full SHA
    721a38b View commit details
    Browse the repository at this point in the history
  8. test: UX: Multichain: Add E2E for signaling network change from Netwo…

    …rk menu to dapp, Autoswitching networks (#25765)
    
    ## **Description**
    
    Adds an end to end tests for:
    * Autoswitching networks upon UI load
    * Autoswitching networks upon last confirmation rejection/confirmation
    * Signaling network change from extension to dapp
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25765?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. N/A, this is a E2E addition
    
    ## **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.
    darkwing authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    5540fdf View commit details
    Browse the repository at this point in the history
  9. test: Adding e2e for SIWE and re-enabling redesign for SIWE (#25831)

    <!--
    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/25831?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    [#24679](#24679)
    
    ## **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 Jul 22, 2024
    Configuration menu
    Copy the full SHA
    edb401a View commit details
    Browse the repository at this point in the history
  10. fix: add migration for profile syncing controller (#26004)

    <!--
    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**
    
    For existing users, we want to ensure that profile syncing is disabled
    (opt-in). This migration ensures that the `isProfileSyncingEnabled`
    controller state is changed to false for existing users.
    
    This will need to be cherry-picked into v12.0.0
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26004?quickstart=1)
    
    ## **Related issues**
    
    Fixes: V12 testing issue of the state for profile syncing.
    
    ## **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.
    Prithpal-Sooriya authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    afe1120 View commit details
    Browse the repository at this point in the history
  11. fix: Fix permssions for update-attributions workflow (#26019)

    ## **Description**
    
    The `update-attributions` workflow was using a low-privilege token for
    checking out the repository. The checkout step is what determines which
    credentials are used upon `push`. The later step with `git push` was
    failing with a HTTP 403 response despite having a token declared with
    write access, because `git push` uses the credentials setup during
    checkout.
    
    Example failure:
    https://github.com/MetaMask/metamask-extension/actions/runs/10046473531
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26019?quickstart=1)
    
    ## **Related issues**
    
    Relates to MetaMask/MetaMask-planning#1947
    
    ## **Manual testing steps**
    
    We can't easily test this until after it's merged. Once this is merged,
    we can see that it works by using the command `@metamaskbot
    update-attributions`. We can see that the changes made here reflect how
    the `update-policies` workflow works, which uses the same type of
    authorization.
    
    ## **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 Jul 22, 2024
    Configuration menu
    Copy the full SHA
    02166e0 View commit details
    Browse the repository at this point in the history
  12. fix: update css for modals (#25961)

    ## **Description**
    Few css updates on nft and token detection modal
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25961?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] -->
    
    ![image](https://github.com/user-attachments/assets/c3fbf5e7-cb7a-42e0-b77f-b6b04d23daaf)
    
    
    ### **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 <[email protected]>
    sahar-fehri and georgewrmarshall authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    70955a5 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. fix: map the supported block explorers (#25908)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    This PR introduces a new object to map the block explorers needed to
    display certain details of the notifications. The created object is
    intentionally as simple as possible. The goal of the notifications team
    is to define a more complete object in a shared library among the
    different clients to correctly render notifications where necessary.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25908?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    - #25882
    - #25880
    - #25878
    - #25881
    
    ## **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**
    
    - [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 Jul 23, 2024
    Configuration menu
    Copy the full SHA
    9395988 View commit details
    Browse the repository at this point in the history
  2. fix: 🏷️ update the text in the popup to enable notifications (#26026)

    ## **Description**
    
    This PR fixes the reported bug:
    #25994. The PR
    changes the text to inform the user about the option to disable
    notifications from the notifications settings page (see images). The
    ability to enable/disable notifications directly from the general
    settings is expected to be implemented in future releases.
    
    <img width="376" alt="Screenshot 2024-07-22 at 22 37 30"
    src="https://github.com/user-attachments/assets/a426fb14-fa2c-45fb-a3d1-bde270df17e8">
    <img width="371" alt="Screenshot 2024-07-22 at 22 37 38"
    src="https://github.com/user-attachments/assets/b178faf5-0a8f-472a-8971-3519e2932726">
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26026?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Go to this page...
    2.
    3.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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 Jul 23, 2024
    Configuration menu
    Copy the full SHA
    d3b9943 View commit details
    Browse the repository at this point in the history
  3. fix: Revert "refactor: use withKeyring method (#25435)" (#26041)

    <!--
    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**
    
    [Revert "refactor: use
    withKeyring](#25435)
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26041?quickstart=1)
    
    ## **Related issues**
    
    Fixes: ci failures for Create Snap accounts
    
    ## **Manual testing steps**
    
    1. check ci for ff and ff flask 
    
    
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92931/workflows/0e8fb7fe-e5bb-4cec-816c-eed6a97c0d45/jobs/3461246/steps
    
    
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92931/workflows/0e8fb7fe-e5bb-4cec-816c-eed6a97c0d45/jobs/3461243
    
    ## **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.
    seaona authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    821c3bd View commit details
    Browse the repository at this point in the history
  4. feat: Migration #122 set redesignedConfirmationsEnabled to true (#25769)

    <!--
    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 migration sets redesignedConfirmationsEnabled to true. Some users
    may have explicitly turned off the experimental setting, which this
    migration will reset to true. This is intentional as we also plan to
    remove the setting in an upcoming release.
    
    I also added the redesigned confirmation prop to the Sentry state log.
    Needed to add or not add it to support the setting in the tests. I went
    with adding it.
    
    ---
    
    Getting the tests to pass were a bit tricky. It turns out the migrations
    run after the fixtures are set. The withPreferencesController fixture
    method is no help here.
    
    One way we discussed to set the desired test state is to set the
    previous migration data to the state and setting the fixture migration
    version to the current version:
    ```
    meta: { version: 122 }
    ```
    
    This would require opening a live version, extracting the latest
    migration state, and adding the mock state to the tests.
    
    Instead, we manually toggle the setting off for each test that requires
    the old signature pages.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25768?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #24614
    
    ## **Manual testing steps**
    
    1. Turn off the Experimental > Improved signature redesign setting
    2. Run newest version with migration
    3. Observe setting has been turned on
    
    ## **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.
    digiwand authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    3ec4b1e View commit details
    Browse the repository at this point in the history
  5. fix: Flaky "Signature Approved Event" e2e test (#26040)

    ## **Description**
    
    Fixes flaky "Signature Approved Event" tests by awaiting a click event
    
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26040?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26036
    
    ## **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.
    digiwand authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    4d9a690 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4f2e64b View commit details
    Browse the repository at this point in the history
  7. fix: Remove special reject button case from api spec tests (#26048)

    ## **Description**
    
    Merging #25769
    toggled on the signatures redesign by default for all tests. This change
    resulted in `api-spec` tests failing.
    
    The fix is removing the logic for conditionally expect a "Reject" button
    instead of the default "Cancel" for some confirmations. In the redesign
    all signatures share the same footer.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26048?quickstart=1)
    
    ## **Related issues**
    
    No issue created for this test failure
    
    ## **Manual testing steps**
    
    Create a test build, then run `yarn test:api-specs`
    
    ## **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 Jul 23, 2024
    Configuration menu
    Copy the full SHA
    a3c4333 View commit details
    Browse the repository at this point in the history
  8. chore: Temporarily disable Playwright Swaps tests (#26050)

    ## **Description**
    Temporarily disabling the tests that were added
    [here](#25060),
    because they need to be more stable. Once they are, we can enable them
    again.
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    1. `test-e2e-swap-playwright - OPTIONAL` step will not be run in a pull
    request.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [ ] I've followed [MetaMask 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.
    dan437 authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    82382cd View commit details
    Browse the repository at this point in the history
  9. chore: add privacy query params to portfolio navigation (#25958)

    ## **Description**
    
    - Added `metricsEnabled` and `marketingEnabled` query params to reflect
    user privacy preferences on user navigation to Portfolio. These
    settings, sent from extension, will be consumed by the Portfolio to
    update and align privacy preferences.
    
    - Updated all relevant e2e and unit tests to include the params. 
    
    Context: Our current privacy opt-in rate has been low since some recent
    updates to our privacy flow, so we are aligning our privacy settings
    with the other platforms.
    
    ## **Related issues**
    Fixes:
    
    ## **Manual testing steps**
    
    1. Update privacy preferences in settings for both MetaMetrics and
    Marketing
    2. Navigate to Portfolio 
    4. See that the privacy params accurately reflect the user's settings in
    mobile
    
    Example URL:
    
    
    `https://portfolio.metamask.io/?metamaskEntry=ext_portfolio_button&metametricsId=0xbcd1a47f61d820aac3158af775dfee88828e5330aae11f3048767aab7e99b474&metricsEnabled=false&marketingEnabled=false`
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    With query params attached:
    https://www.loom.com/share/7f372324de1e452a837e5faa9860ee94
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
    Coding
    Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [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-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [X] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [X] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    julesat22 authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    baf93a3 View commit details
    Browse the repository at this point in the history
  10. fix: flaky test 25912 (#25913)

    This PR is to fix the flaky test associated with the 'User Operations
    from swap' test case. While I couldn't replicate the issue locally, the
    screenshots suggest a delay in transitioning from the swap action to
    clicking the close button.
    Upon further investigation with @seaona, we determined that processing
    the swap transaction was taking time, as shown in the screenshot below.
    Consequently, a mock for the swap has been introduced.
    
    ---------
    
    Co-authored-by: seaona <[email protected]>
    hjetpoluru and seaona authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    cebb0db View commit details
    Browse the repository at this point in the history
  11. fix: flaky test `Import flow @no-mmi Import wallet using Secret Recov…

    …ery Phrase with pasting word by word` (#26049)
    
    <!--
    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 test `Import flow @no-mmi Import wallet using Secret Recovery Phrase
    with pasting word by word` fails because after opting out from
    metametrics, we land into the Home page again instead of going to the
    Import SRP page, causing the test to fail as the srp element cannot be
    located ([ci
    failure](https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92953/workflows/ee7ae0a5-2afd-4718-83b9-b5b335f69f82/jobs/3462015/tests)).
    
    This is a race condition on the wallet level, and not on the test level:
    iinstead of going inside the `ONBOARDING_IMPORT_WITH_SRP_ROUTE`
    condition, we fallback to the DEFAULT_ROUTE which directs you to home
    (see screenshot of the failure):
    
    ```
    export function getFirstTimeFlowTypeRouteAfterMetaMetricsOptIn(state) {
      const { firstTimeFlowType } = state.metamask;
    
      if (firstTimeFlowType === FirstTimeFlowType.create) {
        return ONBOARDING_CREATE_PASSWORD_ROUTE;
      } else if (firstTimeFlowType === FirstTimeFlowType.import) {
        return ONBOARDING_IMPORT_WITH_SRP_ROUTE;
      } else if (firstTimeFlowType === FirstTimeFlowType.restore) {
        return ONBOARDING_SECURE_YOUR_WALLET_ROUTE;
      }
      return DEFAULT_ROUTE;
    }
    ```
    
    I am able to consistently reproduce it locally if I add a timeout in the
    onImportClick function:
    
    ```
      const onImportClick = async () => {
        setTimeout(async () => {
        dispatch(setFirstTimeFlowType(FirstTimeFlowType.import));
        }, 200);
    ```
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26049?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26053
    
    ## **Manual testing steps**
    
    1. Check ci hasn''t failed anymore with the `Import flow @no-mmi Import
    wallet using Secret Recovery Phrase with pasting word by word`
    
    ## **Screenshots/Recordings**
    Race condition which lands me back to HOME page:
    
    
    https://github.com/user-attachments/assets/514c3340-6bc8-41a2-add2-712e19549737
    
    
    
    
    
    ## **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 Jul 23, 2024
    Configuration menu
    Copy the full SHA
    5272c59 View commit details
    Browse the repository at this point in the history
  12. fix: center token icon (#26013)

    ## **Description**
    
    This PR centers the tokenIcon in `MultichainTokenListItem`
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26013?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    https://consensyssoftware.atlassian.net/browse/MMASSETS-251
    
    ## **Manual testing steps**
    
    1. Go to this page...
    2.
    3.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    <img width="1122" alt="Screenshot 2024-07-22 at 18 18 16"
    src="https://github.com/user-attachments/assets/fe1e09a5-1720-4151-9469-d6c9dfac7b46">
    <img width="1120" alt="Screenshot 2024-07-22 at 18 18 29"
    src="https://github.com/user-attachments/assets/e4b3da2f-3077-4bb6-a38d-29ddf7d98ebe">
    
    Asset picker modal
    
    <img width="371" alt="Screenshot 2024-07-22 at 18 30 48"
    src="https://github.com/user-attachments/assets/b752bc40-7e04-413a-b99d-bd248449fa51">
    
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    <img width="1120" alt="Screenshot 2024-07-22 at 18 17 22"
    src="https://github.com/user-attachments/assets/06905abf-73da-4d90-8974-3f0a19aa739a">
    <img width="1123" alt="Screenshot 2024-07-22 at 18 17 47"
    src="https://github.com/user-attachments/assets/4d1841a6-e128-4e89-ac86-d465de06a9d4">
    
    Asset Picker modal
    
    <img width="370" alt="Screenshot 2024-07-22 at 18 28 47"
    src="https://github.com/user-attachments/assets/4ed41a6e-aba2-49f3-8dec-c587ed0dba8b">
    
    
    ## **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 Jul 23, 2024
    Configuration menu
    Copy the full SHA
    40f61bc View commit details
    Browse the repository at this point in the history
  13. chore: Create a story for IconButton component (#25277)

    ## **Description**
    
    This PR introduces the Storybook story for the IconButton component. The
    story provides a default view of the component within the Storybook UI,
    allowing for interactive testing and development. The story ensures that
    the IconButton renders correctly with its default properties and
    responds to user interactions as expected.
    
    ## **Related issues**
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR.
    2. Navigate to the IconButton component in the Components/UI folder.
    
    ## **Screenshots/Recordings**
    
    
    ![25b39d33-9c39-40ba-a069-4fea28f1c58f](https://github.com/Devin-Applications/metamask-extension-devin/assets/168687171/ee4a0a81-7fe7-45cd-a2b5-8e0ea499162d)
    
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability.
    - [X] I’ve included tests if applicable.
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable.
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    [Devin
    Run](https://preview.devin.ai/devin/70d2612e9904495b8484f3a4e2c21f26)
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Devin-Apps and devin-ai-integration[bot] authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    b262267 View commit details
    Browse the repository at this point in the history
  14. fix: mmi flaky tests `Reveal SRP through settings completes quiz and …

    …reveals SRP QR after wrong answers` , `Sign Typed Data Signature Request can initiate and reject a Signature Request of Sign Typed Data`, `Sign Typed Data Signature Request can queue multiple Signature Requests of Sign Typed Data and confirm` (#26055)
    
    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    This PR fixes a race condition where opening the menu and clicking an
    option, drives you to click the support item for mmi (since the complete
    menu items take a bit to load).
    [This fix is already
    implemented](#25786)
    by @hjetpoluru here, and this PR just expands the fix to the rest of
    places of this flakiness occurs, so all credit to Harika.
    
    Note: now this action is scattered to different tests, but once we have
    the page object implementation for all tests, we will have this just in
    one place: in the action of opening the menu.
    
    
    
    
    - ci errors:
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/93056/workflows/ba01ff72-1e2e-4eba-b8ea-fb22aa07250c/jobs/3465362/tests
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26055?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Check ci
    
    ## **Screenshots/Recordings**
    
    
    ![image](https://github.com/user-attachments/assets/185f2c77-234d-46f8-af0e-92e097095df3)
    
    
    <!-- [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.
    seaona authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    367cc9e View commit details
    Browse the repository at this point in the history
  15. chore: tweak send page styling (#25982)

    <!--
    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 the following design issues with the send page:
    - "Send a token" should just be "Send"
       - You can send more than tokens (e.g., 721s, 1155s, native assets)
       - **This header size should also be increased**
    - The search bar has excessive padding
    - The "Sending <asset>" component in the destination modal has excessive
    padding
    
    <!--
    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/25982?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Navigate to send page
    2. Ensure "Send" is shown at top with `heading-sm` sizing
    3. Select a recipient
    4. Check all modal flows for slimmer and symmetrical spacing
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    #### Header copy
    
    <img width="416" alt="Screenshot 2024-07-19 at 10 57 02 AM"
    src="https://github.com/user-attachments/assets/b2841be0-4d54-4c08-99a7-e7d735ae621a">
    
    #### Send token
    
    <img width="365" alt="Screenshot 2024-07-19 at 10 57 19 AM"
    src="https://github.com/user-attachments/assets/5dde675a-e1aa-47cb-b4bd-e6cce515247a">
    
    #### Dest token
    
    <img width="365" alt="Screenshot 2024-07-19 at 10 57 29 AM"
    src="https://github.com/user-attachments/assets/a673ffc1-0fc2-4176-a832-87d3246289c8">
    
    #### NFT
    
    <img width="365" alt="Screenshot 2024-07-19 at 10 57 43 AM"
    src="https://github.com/user-attachments/assets/4a2b959f-18f5-4551-b72a-48d4652430df">
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    #### Header copy
    
    <img width="416" alt="Screenshot 2024-07-19 at 10 51 47 AM"
    src="https://github.com/user-attachments/assets/cf73b6ca-4702-451e-93f4-7eb9e45fd2d4">
    
    #### Send token
    
    <img width="365" alt="Screenshot 2024-07-19 at 12 59 31 PM"
    src="https://github.com/user-attachments/assets/fbfe8634-abbb-4499-bc03-3ca096eca636">
    
    #### Dest token
    
    <img width="365" alt="Screenshot 2024-07-19 at 1 00 15 PM"
    src="https://github.com/user-attachments/assets/7ed04166-bfaf-4289-aaab-9492b31ea412">
    
    #### NFT
    
    <img width="365" alt="Screenshot 2024-07-19 at 12 59 58 PM"
    src="https://github.com/user-attachments/assets/36124363-7d29-4ef4-bbf6-fcc38c133e98">
    
    <!-- [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.
    BZahory authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    ef38d62 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    ad0184b View commit details
    Browse the repository at this point in the history
  17. test: new switchToWindowWithTitle w/ Extension communication (#25362)

    This creates a Socket between Mocha/Selenium and the Extension
    background script (service worker in MV3).
    
    I had originally hoped that we could send a message to the Extension,
    and make the Extension switch windows. But it seems like Selenium's idea
    of "which tab/window are we looking at" is not the same as which one the
    browser has active. In fact, the "real user" can change tabs, and
    Selenium still works on the old tab. So an attempt to change tabs in the
    browser effectively does nothing.
    
    My second attempt was to send back a list of open tabs and their names.
    This almost works, except the order of the tab lists is different
    between the browser list and the Selenium list. So we can't really act
    on that information to switch to a tab.
    
    So the thing I went for is to ask the Extension to wait until there's a
    window open with the target title or url, and then inform Mocha/Selenium
    that it exists and to look for it.
    
    These changes made a small number of tests more flaky, so I made some
    minor changes to them to work better with the new system.
    ---------
    
    Co-authored-by: David Murdoch <[email protected]>
    Co-authored-by: seaona <[email protected]>
    3 people authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    291e6b8 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. refactor: replace typography with text component in review recovery p…

    …hrase (#25265)
    
    ## **Description**
    
    Migrated the `Typography` component to the `Text` component in the
    `review-recovery-phrase.js` file. This change is part of the ongoing
    effort to update the codebase to use the new `Text` component for better
    consistency and maintainability.
    
    Devin Run Link:
    https://preview.devin.ai/devin/f2332a51ed044002a120b3867453f270
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25265?quickstart=1)
    
    ## **Related issues**
    
    Partially Fixes:
    #17670
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Verify that the `ReviewRecoveryPhrase` component renders correctly
    with the new `Text` component
    3. Ensure that the styling and functionality remain consistent with the
    previous implementation
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    
    ![](https://api.devin.ai/attachments/9c4c46aa-b7db-428f-a2d5-88302b660067/e5620a83-f1a1-4355-abbc-6b18593ae7fb.png)
    
    
    ### **After**
    
    ![after](https://github.com/Devin-Applications/metamask-extension-devin/assets/168687171/9981179c-31be-4051-83b4-a97beb44ec85)
    
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [x] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: George Marshall <[email protected]>
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    3 people authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    aee6585 View commit details
    Browse the repository at this point in the history
  2. refactor: replace Typography with Text component in metametrics.js (#…

    …25630)
    
    ## **Description**
    
    Migrated the `Typography` component to the `Text` component in the
    `metametrics.js` file. This change is part of the ongoing effort to
    update the codebase to use the new `Text` component for better
    consistency and maintainability.
    
    Devin Run Link:
    https://staging.itsdev.in/devin/ab3388199a904772b66d750b70b340af
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25630?quickstart=1)
    
    ## **Related issues**
    
    Partially Fixes:
    #17670
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Verify that the `OnboardingMetametrics` component renders correctly
    3. Ensure that the text styles and alignments are consistent with the
    design specifications
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    
    ![](https://api.devin.ai/attachments/70aa74b6-3cd2-4371-a5cc-1e6ed7485f12/1530a249-da0a-407c-80d6-b049893b007b.png)
    
    ### **After**
    
    
    ![](https://api.devin.ai/attachments/54d320cb-f9d0-47c1-8238-8a210d2a77e4/dde3fd7e-c493-4b4e-829b-a37eae4beda5.png)
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [x] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    devin-ai-integration[bot] authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    d4c2256 View commit details
    Browse the repository at this point in the history
  3. chore: update Bitcoin Snap to version 0.2.5 (#26058)

    ## **Description**
    
    This PR updates the `@metamask/btc-wallet-snap` to version 0.2.5.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26058?quickstart=1)
    
    ## **Related issues**
    
    Fixes: <MetaMask/accounts-planning#534>
    
    ## **Manual testing steps**
    
    N/A
    
    ## **Screenshots/Recordings**
    
    ### **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**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    danroc authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    2a23c7b View commit details
    Browse the repository at this point in the history
  4. chore: removed unused component (#26000)

    <!--
    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**
    
    WrongNetworkNotification it’s not used anywhere and we can remove it
    from the extension.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26000?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Go to this page...
    2.
    3.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    albertolive authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    92a2721 View commit details
    Browse the repository at this point in the history
  5. chore: migrated institutional ui components to ts (#25858)

    <!--
    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**
    
    Most of our components are still written in JS; there’s nothing wrong
    with that, but since MM has been making an effort to move their
    components to TS and all our new UI pieces are written in TS, we should
    start moving our UI elements to TS, starting from:
    
    `ui/components/institutional/`
    
    AC:
    - At least 50% of our components have been updated to TS along with
    their unit tests. (start with the smaller, easier components first and
    then afterwards move to the more complex ones and probably split it into
    its tickets)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Go to this page...
    2.
    3.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    
    ---------
    
    Co-authored-by: MetaMask Bot <[email protected]>
    albertolive and metamaskbot authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    be1c107 View commit details
    Browse the repository at this point in the history
  6. fix: flaky test: Check the toggle for hex data (#25899)

    <!--
    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 is to fix the flaky test occurring in the mmi build, where the
    dynamic menu option 'Portfolio Dashboard' is loaded and hence added the
    conditional wait only for the mmi build.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25899?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #24660
    
    ## **Manual testing steps**
    
    Run locally or in codespace the test using below command:-
    yarn
    yarn build:test:mmi
    yarn test:e2e:single test/e2e/tests/settings/show-hex-data.spec.js
    --browser=chrome --debug --leave-running
    
    Note:- Set the variable process.env.MMI = 'true' at the spec file when
    executing locally.
    
    Validate the CI for mmi should pass.
    
    ## **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).
    - [x] I've completed the PR template to the best of my ability
    - [x] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [x] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    hjetpoluru authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    abe6edb View commit details
    Browse the repository at this point in the history
  7. docs: Centralize Author/Team Mapping for Commit Tracking (#25986)

    This PR removes mapping from public repository and utilizing the team
    mapping centralized in a private repository, further maintaining
    author/team mapping in a single, unified location.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25986?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/extension-delivery#271
    
    ---------
    
    Co-authored-by: Chloe Gao <[email protected]>
    benjisclowder and chloeYue authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    ed7f9e6 View commit details
    Browse the repository at this point in the history
  8. fix: vault decryption broken tests due to update on window handling (

    …#26074)
    
    <!--
    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 broken test `vault-decryption`. The test was broken
    when the introduction to the new window handling has been merged [in
    this PR](#25362).
    The problem is that we are not using the socket communication when we
    are not `IN_TEST` build, and in the `vault decryption` test
    specifically, we are using a production build.
    
    Since this is an exception, the fix is to disable the socket
    communication and do not use the window handling functions from the
    custom driver that rely on the socket communication for getting the
    windows.
    
    
    Error:
    
    ```
    [driver] Called 'waitUntilXWindowHandles' with arguments [2]
    [driver] Called 'switchToWindowWithTitle' with arguments ["MetaMask"]
    Failure on testcase: 'undefined', for more information see the artifacts tab in CI
    
    Error: No client connected to ServerMochaToBackground
    ```
    
    Ci:
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/93155/workflows/ea0f878b-d13d-4765-b1da-41eb4224f273/jobs/3469123
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26074?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26075
    
    ## **Manual testing steps**
    
    1. Check vault job in this PR
    https://app.circleci.com/jobs/github/MetaMask/metamask-extension/3469757
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ![Screenshot from 2024-07-24
    09-24-34](https://github.com/user-attachments/assets/318b24d4-2729-4a1b-af0a-60164b3717c0)
    
    
    ## **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 Jul 24, 2024
    Configuration menu
    Copy the full SHA
    d3caecc View commit details
    Browse the repository at this point in the history
  9. refactor: replace typography with text component in creation-successf…

    …ul.js (#25552)
    
    ## **Description**
    
    Migrated the `Typography` component to the `Text` component in the
    `creation-successful.js` file. This change is part of the ongoing effort
    to replace the deprecated `Typography` component with the new `Text`
    component across the codebase.
    
    1. What is the reason for the change?
    - The `Typography` component is deprecated and needs to be replaced with
    the new `Text` component to ensure consistency and maintainability in
    the codebase.
    
    2. What is the improvement/solution?
    - Replaced all instances of the `Typography` component with the
    equivalent `Text` component in the `creation-successful.js` file.
    Updated the import statements and adjusted the props accordingly.
    
    **Devin Preview Link** :
    https://preview.devin.ai/devin/5831161584324481b1fa0cf772bf56bb
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25552?quickstart=1)
    
    ## **Related issues**
    
    Partially Fixes:
    #17670
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Verify that the `CreationSuccessful` component renders correctly
    without any visual regressions.
    3. Ensure that the text and layout are consistent with the "before"
    state.
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    
    ![](https://api.devin.ai/attachments/c89132d9-08d9-40b1-9371-4643104f1889/ddde300a-045d-4c91-a6fc-1befdec32007.png)
    
    
    ### **After**
    
    
    ![](https://api.devin.ai/attachments/325d3a9f-a4f1-4694-9936-65c43a53fb21/ab58150c-6603-4d6d-b152-f60f024e8ad0.png)
    
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [x] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    devin-ai-integration[bot] authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    3401943 View commit details
    Browse the repository at this point in the history
  10. fix: remove halo for tokens (#26016)

    ## **Description**
    
    In the Extension, we display a halo around the token avatar, which
    differs from Mobile and Portfolio. This smaller avatar size makes the
    avatar less legible and creates an unpolished feel of the product.
    
    This PR removes the halo for the main token list component, the import
    token modal and the asset picker
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26016?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] -->
    
    <img width="397" alt="Screenshot 2024-07-22 at 18 47 15"
    src="https://github.com/user-attachments/assets/3f8acb76-fb0c-4c40-b1eb-a4135e902a34">
    
    <img width="415" alt="Screenshot 2024-07-22 at 18 46 56"
    src="https://github.com/user-attachments/assets/5e42e910-5655-4ed8-af6a-ff6c1ec0d4f2">
    
    <img width="1124" alt="Screenshot 2024-07-22 at 18 46 45"
    src="https://github.com/user-attachments/assets/0c480155-3656-49da-9185-42d765373c5e">
    
    <img width="394" alt="Screenshot 2024-07-22 at 18 47 02"
    src="https://github.com/user-attachments/assets/eff7d877-fde4-4f95-8f06-3671338fbf06">
    
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    <img width="422" alt="Screenshot 2024-07-22 at 18 42 31"
    src="https://github.com/user-attachments/assets/b65d9ed4-6524-4c21-9262-d9f6e1e274b0">
    
    <img width="1242" alt="Screenshot 2024-07-22 at 18 42 45"
    src="https://github.com/user-attachments/assets/6c6474c6-eab6-4e89-9044-fc0c88e2f703">
    
    <img width="438" alt="Screenshot 2024-07-22 at 18 42 55"
    src="https://github.com/user-attachments/assets/22b015b4-19ea-457f-91d0-ff78e8fda696">
    
    <img width="489" alt="Screenshot 2024-07-22 at 18 48 53"
    src="https://github.com/user-attachments/assets/7ed3cf52-271e-44fb-9693-fbac61f048e1">
    
    
    
    ## **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 Jul 24, 2024
    Configuration menu
    Copy the full SHA
    3d2a436 View commit details
    Browse the repository at this point in the history
  11. fix: lock Chrome version to 126 (#26101)

    ## **Description**
    
    Chrome version 127 is causing problems on CircleCI. This temporarily
    locks the Chrome version to 126.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26101?quickstart=1)
    
    ## **Related issues**
    ## **Manual testing steps**
    ## **Screenshots/Recordings**
    ### **Before**
    ### **After**
    ## **Pre-merge author checklist**
    
    - [x ] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    HowardBraham authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    335c497 View commit details
    Browse the repository at this point in the history
  12. fix: snap flakiness on installSnapSimpleKeyring function (#26039)

    <!--
    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 race condition where we click `Create Account` on the snap
    dapp, before the popup for Connecting hasn't been closed (see video
    below). This causes that the click for Create Account has no effect and
    the dialog never opens, with the error:
    `Error: No window with title: MetaMask Dialog` - example of failure
    [here](https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92347/workflows/a12a664d-4eb8-4c49-a57c-1e58cb49361f/jobs/3437511/tests)
    in the Remove Account Snap
    
    The fix is to wait until the popup is closed before continue.
    This source of flakiness can affect several snap tests (all the tests
    that use the `installSnapSimpleKeyring` function).
    
    Note: this does not mitigate the current Snap Account issues that we see
    on ci, but does fix a source of flakiness introduced in this function
    (I've been able to reproduce the flakiness locally and saw mitigated
    after the fix, for the Remove Account test).
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26039?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Check ci
    
    ## **Screenshots/Recordings**
    Notice how, we start interacting with the dapp again, but the popup
    hasn't been closed yet (second ~22)
    
    
    https://github.com/user-attachments/assets/fbfe4281-9b1a-4311-bca3-6e746e965109
    
    
    
    
    <!-- [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.
    seaona authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    f861486 View commit details
    Browse the repository at this point in the history
  13. fix: Flaky test Account Custom Name.. (#26062)

    <!--
    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 address the fix flaky test related to the `Account Custom Name
    Persistence persists custom account label through account change and
    wallet lock`
    
    Based on the screenshot from the pipeline, the Create button could not
    be clicked. Therefore, it has been replaced with the
    clickElementAndWaitToDisappear function.
    
    
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/92651/workflows/dac61e17-caa2-44ab-979c-05c38b16541b/jobs/3449337/tests
    
    ```
    ElementClickInterceptedError: Element <button class="mm-box mm-text mm-button-base mm-button-base--size-sm mm-button-base--ellipsis multichain-account-picker mm-text--body-md-medium mm-text--ellipsis mm-box--padding-0 mm-box--padding-right-2 mm-box--padding-left-2 mm-box--display-inline-flex mm-box--gap-2 mm-box--justify-content-center mm-box--align-items-center mm-box--color-text-default mm-box--background-color-transparent mm-box--rounded-lg"> is not clickable at point (575,112) because another element <label class="mm-box mm-text mm-label mm-label--html-for mm-form-text-field__label mm-text--body-md mm-text--font-weight-medium mm-box--display-inline-flex mm-box--align-items-center mm-box--color-text-default"> obscures it
    ```
    
    ![image](https://github.com/user-attachments/assets/ace3cde9-cc42-453f-88c7-dace15daaa74)
    
    
    <!--
    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/26062?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    #26061
    
    ## **Manual testing steps**
    
    Execute the test locally or codespaces using below commands:
    yarn
    ENABLE_MV3=false yarn build:test:flask
    ENABLE_MV3=false yarn test:e2e:single
    test/e2e/accounts/create-snap-account.spec.ts --browser=firefox
    
    There should not be CI failures related to the test.
    
    ## **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**
    
    - [x] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: Plasma Corral <[email protected]>
    hjetpoluru and plasmacorral authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    83e4b2a View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. fix: number formatting on swap + send tx detail (#26029)

    ## **Description**
    
    Fixes an issue when rendering details for a swap + send transaction.
    
    Token amounts less than 1 with >= 6 leading zeroes were formatted in
    scientific notation.
    
    `toString` and `toPrecision` both render scientific in that case, so
    this PR uses `toFixed` instead.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26029?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #25876
    
    ## **Manual testing steps**
    
    1. Do a swap + send transaction with a source and/or destination amount
    < .000001
    2. Click activity tab
    3. Click on the transaction
    4. Source and destination amounts should not be in scientific notation
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    <img width="340" alt="Screenshot 2024-07-22 at 4 09 49 PM"
    src="https://github.com/user-attachments/assets/64f2dd69-2ffe-4a15-8e59-63f519b416b8">
    
    
    ### **After**
    
    <img width="344" alt="Screenshot 2024-07-22 at 4 14 20 PM"
    src="https://github.com/user-attachments/assets/517294b0-1ae5-49d1-82a5-e46a1345daa8">
    
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    6c41556 View commit details
    Browse the repository at this point in the history
  2. chore: Create a story for InvalidCustomNetworkAlert component (#25600)

    ## **Description**
    
    This PR introduces the Storybook story for the
    `InvalidCustomNetworkAlert` component, allowing for isolated development
    and testing of this UI component. The story was created to facilitate
    the visualization and interaction with the `InvalidCustomNetworkAlert`
    in various states, ensuring its robustness and responsiveness to
    different content and contexts.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25600?quickstart=1)
    
    ## **Related issues**
    
    - None
    
    ## **Manual testing steps**
    
    1. Go to the latest build of Storybook in this PR.
    2. Navigate to the `InvalidCustomNetworkAlert` component in the
    Components/ folder.
    3. Verify that the Storybook entry for this component is functioning
    correctly and displays as expected in various states.
    
    ## **Screenshots/Recordings**
    
    <img width="1510" alt="Screenshot 2024-07-23 at 5 55 26 PM"
    src="https://github.com/user-attachments/assets/fac1aa2f-eba0-4af4-bed8-fdddf69b8285">
    
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability.
    - [X] I’ve included tests if applicable.
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable.
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Co-authored-by: Garrett Bear <[email protected]>
    3 people authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    98d792f View commit details
    Browse the repository at this point in the history
  3. fix: display link to privacy-policy explanation in onboarding flow (#…

    …26038)
    
    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    This PR adds a link to the Metametrics page during the onboarding
    process to explain to the user how their data will be managed using the
    new profile syncing feature.
    
    The user is redirected to this link:
    https://support.metamask.io/privacy-and-security/profile-privacy#how-is-the-profile-created
    
    This is the Figma with the requested modification:
    https://www.figma.com/design/1otUTgYHYD7A77pgP7wT2v/MetaMetrics-update?node-id=3-275&t=bw8aqpz5nBQ6rTVV-0
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26038?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. During the onboarding process
    2. On the Metametrics page
    3. Verify the presence of the text and the link
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <img width="1624" alt="Screenshot 2024-07-23 at 08 26 12"
    src="https://github.com/user-attachments/assets/d0ff2e1d-be3f-4705-bcd4-a598ed9cad92">
    
    ### **After**
    
    <img width="1624" alt="Screenshot 2024-07-23 at 16 39 37"
    src="https://github.com/user-attachments/assets/b86785cb-85f8-43e9-a454-ddca42e8696d">
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    d6b7829 View commit details
    Browse the repository at this point in the history
  4. feat: Add metrics event for advanced details section toggling (#26083)

    <!--
    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 recently introduced the advanced details toggle for redesigned
    transactions. This PR adds a metrics event that gets fired every time
    that toggle is pressed.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26083?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#2736
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    bdcea3d View commit details
    Browse the repository at this point in the history
  5. fix: add ellipsis for permit fiat values (#26001)

    <!--
    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 goal is to add ellipsis to the fiat value if it's more than 15
    character in permit simulations.
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26001?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#2842
    
    ## **Manual testing steps**
    
    1. Go to cowswap
    2. Swap a token with gas-free approve for another token
    3. Notice the permit signature screen
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <img width="472" alt="Screenshot 2024-07-22 at 14 40 57"
    src="https://github.com/user-attachments/assets/c5879989-7719-4e4b-902f-1f57144d8889">
    
    
    ## **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.
    OGPoyraz authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    8281f92 View commit details
    Browse the repository at this point in the history
  6. feat: Mitigate risk for distracted users on queued transactions from …

    …different dApps (#25852)
    
    ## **Description**
    
    Adds new Banner alert and corresponding metrics event. Also adds metric
    to navigation when there's are queued confirmations.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25852?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#2758
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    257acdd View commit details
    Browse the repository at this point in the history
  7. refactor: Create reusable ConfirmInfoRowTextTokenUnits component (#26105

    )
    
    <!--
    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**
    
    No UI/UX changes
    
    Create reusable ConfirmInfoRowTextTokenUnits
    
    notes: 
    - there is an outstanding bug ticket to redesign the display length of
    the amount to max 15 characters. This will be handled separately
    - there's also a precision issue being handle separately
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26105?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#2888
    
    ## **Manual testing steps**
    
    1. Create a redesign Permit transaction
    2. Observe amount displays as expected
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    ![CleanShot 2024-07-25 at 03 35
    08](https://github.com/user-attachments/assets/92e6db4e-7618-43d6-8259-d9e16f436dbe)
    
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    c204377 View commit details
    Browse the repository at this point in the history
  8. fix: Move Snaps hooks out of code fence (#26120)

    ## **Description**
    
    Some hooks used by Snaps were wrongfully placed in a `keyring-snaps`
    code fence. We haven't noticed this before because `keyring-snaps` is
    enabled in stable, but these hooks shouldn't be placed there.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26120?quickstart=1)
    Mrtenz authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    36da322 View commit details
    Browse the repository at this point in the history
  9. chore: mmi 5305 mmi pages typescript migration (#26081)

    <!--
    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 have a few components under pages/institutional that need to be
    converted to TS:
    
    - onboarding-successful
    - institutional-entity-done-page
    - account-list
    - confirm-connect-custodian-modal
    - confirm-add-custodian-token
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Go to this page...
    2.
    3.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    albertolive authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    f9f3cff View commit details
    Browse the repository at this point in the history
  10. feat: update network list item to include start accessory and end (#2…

    …5507)
    
    This PR is to update network list item to include start accessory and
    end accessory
    ## **Related issues**
    
    Fixes: [2728](MetaMask/MetaMask-planning#2728)
    
    ## **Manual testing steps**
    
    1. No UI changes, networks list shouldn't change
    
    ## **Screenshots/Recordings**
    
    NA
    
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    9b6e343 View commit details
    Browse the repository at this point in the history
  11. fix: remove btc account from permission connect lists (#25980)

    <!--
    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 filters BTC accounts from the permission connect list.
    
    ## **Related issues**
    
    Fixes: 
    
    ## **Manual testing steps**
    
    1. Create a BTC account
    2. Connect to a dapp
    3. Open popup
    4. Click network icon
    5. Click on `Connect more accounts`
    6. See that there aren't any btc accounts
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    ![Screenshot 2024-07-19 at 21 09
    57](https://github.com/user-attachments/assets/91dbd13d-c136-4666-ad3d-f57bd85d073d)
    
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    ![Screenshot 2024-07-19 at 21 04
    04](https://github.com/user-attachments/assets/fded0169-c62d-4f2e-9ea0-abf345d711c6)
    
    
    ## **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: Charly Chevalier <[email protected]>
    Co-authored-by: Daniel Rocha <[email protected]>
    3 people authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    95f7753 View commit details
    Browse the repository at this point in the history
  12. chore: MMI-5301 adds enums for custody type and status (#26006)

    <!--
    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 two enums for MMI use:
    - AccountType
    - CustodyStatus
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    fb47887 View commit details
    Browse the repository at this point in the history
  13. feat: make add-team-label use the reusable workflow (#25807)

    <!--
    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/25807?quickstart=1)
    
    Instead of copy-pasting the implementation of add-team-label to other
    repositories, such as metamask-extension and metamask-mobile, it should
    be possible to call the workflow directly from the github-tools
    repository, if we make it a reusable workflow. This is great, because if
    we make a change to the workflow in the github-tools repository, the
    changes propagate to other repositories as well.
    
    More information about reusable workflows:
    https://docs.github.com/en/actions/using-workflows/reusing-workflows
    
    This kind of aligns with
    #25509, but not
    exactly. The shared library would still be needed nevertheless, as this
    is only sharing the workflow definition, but not the scripts that are
    run during the workflow. The scripts still need to exist in all the
    repositories (for now). Ideally, we would make the shared library an npm
    package that can be installed in the different repositories to allow for
    the sharing of scripts.
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#2760
    
    ## **Manual testing steps**
    
    1. Have the workflow run the same as before, without it being defined in
    the repository.
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    51410b2 View commit details
    Browse the repository at this point in the history
  14. fix: add new helper function for openMenuSafe to mitigate all ocurr…

    …ences for opening menu with MMI build (#26079)
    
    <!--
    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/26079?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.
    seaona authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    ffa86dd View commit details
    Browse the repository at this point in the history
  15. chore: Create a story for Snackbar component (#25515)

    ## **Description**
    
    <!--
    [TODO]
    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 pull request adds a Storybook story for the `Snackbar` component in
    the MetaMask extension repository. The story is created to test the
    `Snackbar` component in isolation and ensure it renders correctly in the
    Storybook UI.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25515?quickstart=1)
    
    ## **Related issues**
    
    N/A
    
    ## **Manual testing steps**
    
    1. Go to the latest build of Storybook in this PR.
    2. Navigate to the `Snackbar` component in the `Components/UI` folder.
    
    ## **Screenshots/Recordings**
    
    <img
    src="https://api.devin.ai/attachments/deed578b-e19c-406d-b4bd-202986b554f9/5eeef96f-cc18-42ce-9e33-21dce026014e.png"
    />
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability.
    - [X] I’ve included tests if applicable.
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable.
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    Link to Devin run:
    https://preview.devin.ai/devin/5be2ff2370a84b619ee0027d9cbca344
    Requested by: the user
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Configuration menu
    Copy the full SHA
    bd45d11 View commit details
    Browse the repository at this point in the history
  16. chore: Bump @metamask/transaction-controller to v34 (#26124)

    ## **Description**
    
    The `@metamask/transaction-controller` package has been updated from v32
    to v34. The `@metamask/user-operation-controller` package had to be
    bumped as well to avoid new peer dependency warnings.
    
    Primarily the only breaking changes in these ranges were peer dependency
    updates and an update to the minimum supported Node.js version. The new
    peer dependencies did not introduce any new warnings, they are all met.
    This update has resolved some pre-existing peer dependency warnings.
    
    The only functional change required was this update to the
    TransactionController in v33.0.0:
    
    ```
    - **BREAKING:** The `TransactionController` messenger must now allow the `AccountsController:getSelectedAccount` action ([#4244](MetaMask/core#4244))
    
    ...
    
    - **BREAKING:** Remove `getSelectedAddress` option from `TransactionController` ([#4244](MetaMask/core#4244))
      - The AccountsController is used to get the currently selected address automatically.
    ```
    
    That change has been applied.
    
    See the full changelogs here:
    *
    [`@metamask/transaction-controller`](https://github.com/MetaMask/core/blob/%40metamask/transaction-controller%4034.0.0/packages/transaction-controller/CHANGELOG.md)
    *
    [`@metamask/user-operation-controller`](https://github.com/MetaMask/core/blob/%40metamask/user-operation-controller%4013.0.0/packages/user-operation-controller/CHANGELOG.md)
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26124?quickstart=1)
    
    ## **Related issues**
    
    This helps unblock #9372
    
    ## **Manual testing steps**
    
    N/A
    
    ## **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 <[email protected]>
    Gudahtt and metamaskbot authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    8db8ba7 View commit details
    Browse the repository at this point in the history
  17. chore: Bump @metamask/ens-controller to v12 (#26127)

    ## **Description**
    
    This resolves a peer dependency warning; v10.0.1 of the
    `@metamask/ens-controller` was requesting an older version of the
    `@metamask/network-controller` package. The versions are aligned with
    this update.
    
    The only breaking changes were to this peer dependency, and to the
    minimum supported Node.js version.
    
    See here for the full changelog:
    https://github.com/MetaMask/core/blob/%40metamask/ens-controller%4012.0.0/packages/ens-controller/CHANGELOG.md
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26127?quickstart=1)
    
    ## **Related issues**
    
    This helps to unblock #9372
    
    ## **Manual testing steps**
    
    N/A
    
    ## **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 <[email protected]>
    Gudahtt and metamaskbot authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    f048bbf View commit details
    Browse the repository at this point in the history
  18. chore: cleanup .prettierignore file (#24828)

    A few invalid entries have been removed from the `.prettierignore` file, and the remaining entries have been alphabetized so that they are easier to quickly scan.
    
    I did this because I was investigating a strange ESLint error, and these entries made the investigation a little more complicated than it needed to be.
    Gudahtt authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    855dd80 View commit details
    Browse the repository at this point in the history
  19. chore: update BNB logos (#26140)

    ## **Description**
    
    Updates BNB network logo to the newly provided png and svg assets.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26140?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    Load app and validate that BNB chain logos are updated. Note that erc20
    token logos will not update until
    MetaMask/contract-metadata#1334 gets merged.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    <img width="300" alt="Screenshot 2024-07-25 at 10 20 48 AM"
    src="https://github.com/user-attachments/assets/1657af96-71b3-4d53-9308-3b5d4127d960">
    
    <img width="300" alt="Screenshot 2024-07-25 at 10 21 06 AM"
    src="https://github.com/user-attachments/assets/cbda47bf-2dcb-481c-9530-6eda74b9b3e7">
    
    <img width="300" alt="Screenshot 2024-07-25 at 10 22 32 AM"
    src="https://github.com/user-attachments/assets/8be43670-298e-4b18-900f-3943eac4d310">
    
    <img width="300" alt="Screenshot 2024-07-25 at 10 22 52 AM"
    src="https://github.com/user-attachments/assets/10762e9f-c0ce-4871-964b-10e0d2112e82">
    
    ### **After**
    
    <img width="300" alt="Screenshot 2024-07-25 at 10 38 18 AM"
    src="https://github.com/user-attachments/assets/ab3ae389-6a68-451f-ae80-b4437343bf8b">
    <img width="300" alt="Screenshot 2024-07-25 at 10 38 59 AM"
    src="https://github.com/user-attachments/assets/80b66ffa-1ad2-422f-86b7-852b6e3b3555">
    <img width="300" alt="Screenshot 2024-07-25 at 10 39 52 AM"
    src="https://github.com/user-attachments/assets/2239643d-401a-4ae8-9850-2495d0c28d69">
    <img width="300" alt="Screenshot 2024-07-25 at 10 40 15 AM"
    src="https://github.com/user-attachments/assets/0c549632-6a1b-4ba4-8bfc-e34b80752fd2">
    
    
    ## **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 Jul 25, 2024
    Configuration menu
    Copy the full SHA
    b27dd2b View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Configuration menu
    Copy the full SHA
    3d93d82 View commit details
    Browse the repository at this point in the history
  2. refactor: fix event names used to track notifications (#25521)

    <!--
    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 modifies the names of some tracked events to monitor the use of
    notifications, ensuring they adhere to the conventions used.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25521?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Go to this page...
    2.
    3.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    
    ---------
    
    Co-authored-by: Prithpal Sooriya <[email protected]>
    Co-authored-by: Prithpal Sooriya <[email protected]>
    3 people authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    c7880bf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0e503c3 View commit details
    Browse the repository at this point in the history
  4. fix: flaky BTC e2e tests (#26082)

    <!--
    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 tests that happens during the firefox e2e. A btc
    balance mock was also added to reduce api call usage.
    <!--
    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/26082?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#531
    
    ## **Manual testing steps**
    
    N/a
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask 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: Charly Chevalier <[email protected]>
    montelaidev and ccharly authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    32dc79f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    30dce33 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ffa8677 View commit details
    Browse the repository at this point in the history
  7. fix: Flaky test 4byte setting (#26111)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    This PR fixes a flaky test for the MMI build where clicking on the
    Settings menu option was problematic.
    I've added a conditional check to wait for the 'Portfolio Dashboard' to
    load if the build is MMI.
    <!--
    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/26111?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    #26110
    
    ## **Manual testing steps**
    
    Execute below commands local or in codespaces run in chrome the browser
    yarn
    yarn build:test:mmi
    yarn test:e2e:single test/e2e/tests/settings/4byte-directory.spec.js
    --browser=chrome
    
    ## **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 Jul 26, 2024
    Configuration menu
    Copy the full SHA
    f4f008a View commit details
    Browse the repository at this point in the history
  8. chore: add portfolio ephemeral domain URL (#26163)

    ## **Description**
    
    Adds another supported portfolio URL.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26163?quickstart=1)
    
    ## **Related issues**
    
    N/A
    
    ## **Manual testing steps**
    
    N/A
    
    ## **Screenshots/Recordings**
    
    ### **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**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that 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 Jul 26, 2024
    Configuration menu
    Copy the full SHA
    fddb0a4 View commit details
    Browse the repository at this point in the history
  9. chore: MMI move custody component to TS (#26096)

    <!--
    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**
    
    Moves Custody component to TS.
    
    ## **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.
    
    ---------
    
    Co-authored-by: Albert Olive <[email protected]>
    zone-live and albertolive authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    08c7333 View commit details
    Browse the repository at this point in the history
  10. feat: define account name during creation (#25191)

    ## **Description**
    
    Changes the add snap account flow to include a final modal that allows
    snaps to suggest a name for the new account or for the user to input a
    name for their new account. The new snap account is now created with a
    name either inputted by the user, suggested by the snap, or the default
    fallback account name.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25191?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#261
    
    ## **Manual testing steps**
    
    <details>
      <summary>Testing with preinstalled snap</summary>
      <br />
    
    1. Go to settings > experimental > toggle on "Enable Add a new Bitcoin
    account (Beta)"
    2. Click on the account list and select "+ Add account or hardware
    wallet" then "Add new Bitcoin account (Beta)"
    3. Go through the flow to add a Bitcoin account without inputting a
    name, with inputting a name, and canceling adding the account
    </details>
    
    <details>
      <summary>Testing with account management snap</summary>
      
    1. Go to the
    [SSK](https://metamask.github.io/snap-simple-keyring/latest/) and
    connect the snap
    2. Go through the flow to create an account without inputting a name,
    with inputting a name, and canceling adding the account
    </details>
    
    ## **Screenshots/Recordings**
    
    ### **Demos**
    
    Preinstalled snap flow
    
    
    https://github.com/MetaMask/metamask-extension/assets/91970214/3782a417-4fd0-4b56-b4b7-30f64e75c6e8
    
    Account management snap flow
    
    
    https://github.com/MetaMask/metamask-extension/assets/91970214/9f53a67d-13c5-44ac-b286-78eddbfb89ae
    
    
    ## **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: Charly Chevalier <[email protected]>
    Co-authored-by: David Walsh <[email protected]>
    Co-authored-by: Brian Bergeron <[email protected]>
    Co-authored-by: Nidhi Kumari <[email protected]>
    Co-authored-by: Ariella Vu <[email protected]>
    Co-authored-by: Jyoti Puri <[email protected]>
    Co-authored-by: Mark Stacey <[email protected]>
    Co-authored-by: Monte Lai <[email protected]>
    Co-authored-by: Jony Bursztyn <[email protected]>
    Co-authored-by: Mircea Nistor <[email protected]>
    Co-authored-by: NidhiKJha <[email protected]>
    Co-authored-by: legobeat <[email protected]>
    Co-authored-by: Hassan Malik <[email protected]>
    Co-authored-by: Frederik Bolding <[email protected]>
    Co-authored-by: Gustavo Antunes <[email protected]>
    16 people authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    0a5be63 View commit details
    Browse the repository at this point in the history
  11. fix: update logos for flare-mainnet and songbird (#25560)

    <!--
    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 updates the logos for Flare Mainnet and Songbird. The motivation
    behind this change is to ensure that the Flare Network's branding is
    accurately represented in MetaMask, providing users with a more reliable
    and visually consistent experience across the platform.
    
    The previous logo used in the wallet was outdated, and this update
    brings the visual in line with the current branding guidelines of the
    Flare network. This improvement enhances the user interface by aligning
    the network's visual representation with its most current branding,
    ensuring that users can easily recognize and associate Flare Mainnet and
    Songbird within MetaMask.
    
    
    
    <!--
    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/25560?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Navigate to the MetaMask extension and select the network dropdown.
    2. Choose the Flare Mainnet and Songbird from the list of available
    networks.
    3. Observe the updated Flare Mainnet and Songbird logo, confirming it
    matches the current branding guidelines provided by Flare.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <img width="319" alt="metamask_flare_songbird_logos"
    src="https://github.com/MetaMask/metamask-extension/assets/15251343/49d99244-3cc4-4c2a-9752-7b72c4d9da6a">
    
    
    ### **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: Brian Bergeron <[email protected]>
    dineshpinto and bergeron authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    49a6e43 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f938877 View commit details
    Browse the repository at this point in the history
  13. test: fix potential api-spec test race condition when adding to task …

    …queue (#26171)
    
    <!--
    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's possible for the afterRequest hook for
    ConfirmationRejectionRule to be added (and block) to the queue before
    the transport addToQueue because of the execution flow.
    
    the transport doesnt await so that afterRequest can get called, this
    lets things happen like click the reject button while the request is
    still pending. see related lines in [api-specs coverage
    tool](https://github.com/open-rpc/test-coverage/blob/master/src/coverage.ts#L126-L134).
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26171?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26156
    
    ## **Manual testing steps**
    
    1. Trigger the api-spec job in CI (because this is not reproducible
    locally it seems) multiple times. It should always pass.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask 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: Shane Jonas <[email protected]>
    jiexi and shanejonas authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    182f609 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. chore: update @metamask/bitcoin-wallet-snap to 0.3.0 (#26168)

    # **Description**
    
    Bump the BTC Snap to version 0.3.0.
    - This new release adds the fee estimation feature.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25808?quickstart=1)
    
    ## **Related issues**
    
    N/A
    
    ## **Manual testing steps**
    
    N/A
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask 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 Jul 29, 2024
    Configuration menu
    Copy the full SHA
    efbdd42 View commit details
    Browse the repository at this point in the history
  2. chore: migrating interactive-replacement-token-page to ts (#26115)

    <!--
    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/26115?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Go to this page...
    2.
    3.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    albertolive authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    7cd38ed View commit details
    Browse the repository at this point in the history
  3. fix: Address performance issues with 'Portfolio Dashboard' loading in…

    … test environment (#26182)
    
    <!--
    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 have noticed significant performance issues when accessing the
    'Settings' menu option due to delays in loading the 'Portfolio
    Dashboard'. This delay has caused flakiness in many of our automated
    tests. The issue appears to have started after changes were made in PR
    #25899.
    
    **Root Cause:**
    The performance issue is linked to an HTTP request to
    `https://configuration.dev.metamask-institutional.io/v2/configuration/default`
    to check if `portfolio.enabled` is true. This request is made in the
    `onSubmitPassword` method in the `mmi-controller` file, resulting in
    delays.
    
    **Solution:**
    To mitigate this issue, we have decided to set the `portfolio.enabled`
    variable to `true` by default in the test environment. This will ensure
    the 'Portfolio Dashboard' item always appears in the menu during tests,
    thereby preventing delays caused by the HTTP request and stabilizing our
    automated tests.
    
    **Changes Made:**
    - Updated the `getMmiPortfolioEnabled` function to return `true` if the
    `IN_TEST` environment variable is set.
    - This change applies only in the test environment, ensuring that the
    production environment remains unaffected.
    
    ```diff
    export function getMmiPortfolioEnabled(state) {
      if (process.env.IN_TEST) {
        return true;
      }
    
      return state.metamask.mmiConfiguration?.portfolio?.enabled;
    }
    ```
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26182?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1.	Attempt to click on the Settings menu option.
    2.	Observe the delay in the ‘Portfolio Dashboard’ loading.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    [<!-- [screenshots/recordings]
    -->](https://consensys.slack.com/archives/CTQAGKY5V/p1721994785419869?thread_ts=1721902891.054169&cid=CTQAGKY5V)
    
    ### **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**
    
    - [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.
    albertolive authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    0d8b35f View commit details
    Browse the repository at this point in the history
  4. fix: setupControllerConnection outstream end event listener (#26141)

    ## **Description**
    
    This PR addresses a problem which had the following surface level
    symptoms: when the UI is closed, the extension continues to send network
    requests to the provider.
    
    Upon some investigation, we discovered that these requests were the
    result of polling initiated from the account tracker. And then upon
    further investigation, we discovered that the callback in the
    `outstream` `'end'` listener in `setupControllerConnection` of
    `metamask-controller.js` was not being called when the UI was closed.
    
    This problem was introduced with
    #24533. That PR
    updates the `object-multiplex` dependency to v2.0.0. The major change in
    that update is the update of the `readable-stream` dependency from a v2
    version to a v3 version. With that update, we see new `premature-close`
    errors in the background. It seems that these errors are still present
    in v2, but they are handled differently, resulting in an `'error'` event
    instead of an `'end'` event. We still have not established a definitive
    understanding of why this is happening, and follow up investigation will
    be needed.
    
    However, this PR still puts forward a fix that safely resolves the
    issue. The solution added here is to make use of the
    `readableStream.finished` function. The callback passed to this function
    will be called when the stream is ended. This function has the same
    behaviour as the `outstream.on('end'` listener had prior to the
    aforementioned PR.
    
    Instead of fully replacing the existing listener, we have added the
    `readableStream.finished` call in addition to the existing listener. The
    reason for this is explained in a code comment:
    
    > The presence of both of the below handlers may be redundant. After
    upgrading metamask/object-multiples to v2.0.0, which included an upgrade
    of readable-streams from v2 to v3, we saw that the `outStream.on('end'`
    handler was almost never being called. This seems to related to how v3
    handles errors vs how v2 handles errors; there are "premature close"
    errors in both cases, although in the case of v2 they don't prevent
    `outStream.on('end'` from being called. At the time that this comment
    was committed, it was known that we need to investigate and resolve the
    underlying error, however, for expediency, we are not addressing them at
    this time. Instead, we can observe that `readableStream.finished`
    preserves the same functionality as we had when we relied on
    readable-stream v2. Meanwhile, the `outStream.on('end'` handler was
    observed to have been called at least once. As we do not yet fully
    understand the conditions under which both of these are being called, we
    include both handlers at the risk of redundancy. Logic has been added to
    the handler to ensure that calling it more than once does not have any
    affect.
    
    To achieve "Logic has been added to the handler to ensure that calling
    it more than once does not have any affect.", the PR adds a unique id to
    each stream passed to `setupControllerConnection`, and uses a `Set` to
    ensure the handler code only runs once per stream.
    
    This PR then adds automated tests. The added unit tests are focused on
    validating both pre-existing and new behaviour of
    `setupControllerChanged`. The added e2e tests focus on the inititially
    mentioned surface level symptoms: it confirms that `eth_call` and
    `eth_getBalance` calls, the calls coming from the account-tracker
    initiated polling, are not continued after the UI is closed. This e2e
    test fails on current develop but passes on this branch.
    
    MetaMask team members can see more details in this thread:
    https://consensys.slack.com/archives/CTQAGKY5V/p1721653870583869
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26141?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26002
    
    ## **Manual testing steps**
    
    To observe the bug on develop:
    1. Install and onboard
    2. Open the service worker dev console and go to the network tab
    3. Observe `eth_call` and `eth_getBalance` requests to infura
    4. Close the UI, observe that the requests from step 3 continue
    
    On this branch, in step 4, after closing the UI, those requests will not
    continue.
    
    ## **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.
    
    ---------
    
    Co-authored-by: legobt <[email protected]>
    Co-authored-by: legobeat <[email protected]>
    Co-authored-by: Danica Shen <[email protected]>
    4 people authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    8f6c83e View commit details
    Browse the repository at this point in the history
  5. fix: node being setup twice (#26052)

    <!--
    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/26052?quickstart=1)
    
    This PR uses the `setup-environment` workflow to reduce duplicated code
    and optimize performance for cases where Node.js was being setup twice
    during a workflow.
    
    ## **Related issues**
    
    Fixes: #25683
    
    ## **Manual testing steps**
    
    1. CI should 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 Jul 29, 2024
    Configuration menu
    Copy the full SHA
    cb3bcee View commit details
    Browse the repository at this point in the history
  6. feat: migrate global unit tests from Mocha to Jest (#26104)

    <!--
    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/26104?quickstart=1)
    
    This PR converts the global unit tests from Mocha to Jest. It removes
    the `test-unit-global` CircleCI pipeline and runs the global unit tests
    on GitHub actions along with the normal unit tests, contributing to the
    coverage report.
    
    Upon discussion with @Gudahtt the ignored dysfunctional unit test
    `test/unit-global/protect-intrinsics.test.js` which was not compatible
    with the Jest environment will be re-introduced in a separate PR. The
    test will be ported to run as part of the e2e test suite, as the browser
    would be a better test environment, closer to production.
    
    ## **Related issues**
    
    Fixes: #25496
    
    ## **Manual testing steps**
    
    1. Tests should be in Jest syntax, and should still pass
    2. Tests should run on GitHub actions with normal unit tests, not on
    CircleCI
    
    ## **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 Jul 29, 2024
    Configuration menu
    Copy the full SHA
    adf8559 View commit details
    Browse the repository at this point in the history
  7. fix: interpret multipart errors correctly and allow ignore (#26113)

    It's usually not a problem, but sometimes errors are received in
    multiple parts, and then that prevents us from being able to ignore
    them. The most recent example is trying to ignore
    `SES_UNHANDLED_REJECTION: (Error#1)`
    
    Discussed in #26084
    HowardBraham authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    4f488b2 View commit details
    Browse the repository at this point in the history
  8. refactor: add unlock checks for notification related controllers (#26189

    )
    
    <!--
    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**
    
    Ensures that we correctly call the preinstalled snap when the wallet is
    unlocked. Also prevents unlock confirmations being created due to snap
    calls when wallet is locked
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26189?quickstart=1)
    
    ## **Related issues**
    
    [Ticket](https://consensyssoftware.atlassian.net/browse/NOTIFY-865)
    
    Fixes: #26064
    
    ## **Manual testing steps**
    
    1. Install the extension and enable notifications
    2. Restart the browser, or reload the extension
    3. Should see no auto opening of the wallet, and no unlock confirmations
    being made.
    
    ## **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.
    Prithpal-Sooriya authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    2197d29 View commit details
    Browse the repository at this point in the history
  9. chore: upgrade to Sentry 8 (#25999)

    Refactor custom `FilterEvents` integration into object returned by function.
    Remove usages of `hub`.
    Fix notification errors when changing metrics preference.
    matthewwalsh0 authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    4bdb994 View commit details
    Browse the repository at this point in the history
  10. chore: Add en_GB locale (#26196)

    ## **Description**
    
    Needed for chrome store description
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26196?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.
    danjm authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    8dc1c6f View commit details
    Browse the repository at this point in the history
  11. fix: truncate long tokenId (#26179)

    ## **Description**
    
    This PR adds a popover for NFT tokenIds that are very long.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26179?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] -->
    <img width="1158" alt="Screenshot 2024-07-29 at 09 49 25"
    src="https://github.com/user-attachments/assets/4804c5d6-4b65-427c-ad51-299d825757a5">
    
    
    ### **After**
    
    
    
    https://github.com/user-attachments/assets/eeeb1452-fda6-43aa-b7f7-4d72b41713f4
    
    
    ## **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 Jul 29, 2024
    Configuration menu
    Copy the full SHA
    2d4ecf6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    aa21fa4 View commit details
    Browse the repository at this point in the history
  13. fix(deps): bump fast-xml-parser from 4.3.4 to 4.4.1. (#26202)

    ## **Description**
    
    Fix audit:
    
    ```
    └─ fast-xml-parser
       ├─ ID: 1098305
       ├─ Issue: fast-xml-parser vulnerable to ReDOS at currency parsing
       ├─ URL: GHSA-mpg4-rc92-vx8v
       ├─ Severity: high
       ├─ Vulnerable Versions: <4.4.1
       │ 
       ├─ Tree Versions
       │  └─ 4.3.4
    ```
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26202?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 Jul 29, 2024
    Configuration menu
    Copy the full SHA
    f53dc06 View commit details
    Browse the repository at this point in the history
  14. chore: remove opera manifest files as they are not used (#26200)

    Removes opera's manifest files since we don't actually use it (and it is
    broken anyway).
    davidmurdoch authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    fe11329 View commit details
    Browse the repository at this point in the history
  15. New Crowdin translations by Github Action (#25939)

    Co-authored-by: metamaskbot <[email protected]>
    metamaskbot and metamaskbot authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    6eafd29 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. refactor: remove password manager mention (#25985)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    In the onboarding for the Secret Recovery Phrase we suggest backing up
    to a password manager, which we now want to change.
    
    This PR should now remove this bullet point mention. I've also
    re-ordered the previous 2nd and 3rd bullet points for this quick fix as
    I thought it odd to start with the advice to store the Secret Recovery
    Phrase in a safety deposit box.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25985?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#529
    
    ## **Manual testing steps**
    
    1. Onboard to MetaMask
    2. Setup a new Secret Recovery Phrase
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <img width="506" alt="image"
    src="https://github.com/user-attachments/assets/8f90ab55-ad9e-4c78-9646-5df8d06259b2">
    
    ### **After**
    
    <img width="491" alt="image"
    src="https://github.com/user-attachments/assets/511463ac-3d16-4946-873f-a9cbf0ee18c6">
    
    
    <!-- [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: gantunesr <[email protected]>
    AlexJupiter and gantunesr authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    7d079ed View commit details
    Browse the repository at this point in the history
  2. fix: improve performance in large signature request confirmations (#2…

    …6209)
    
    Optimize token list selectors.
    Create alternate selectors when the remote token list should always be used.
    matthewwalsh0 authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    3c11ac3 View commit details
    Browse the repository at this point in the history
  3. feat: updated dapp permission screen (#25703)

    when we want to switch network from the Dapp and the network is enabled
    in metamask but doesn't have permission, then we will show this new
    permission screen.
    
    ## **Related issues**
    
    Fixes: [2480](MetaMask/MetaMask-planning#2480)
    
    ## **Manual testing steps**
    
    1. Run extension with CHAIN_PERMISSIONS feature flag
    2. Connect extension to a dapp on ethereum
    3. Go back to extension and add any new network in extension from
    popular networks list
    4. Go back to Dapp, Switch network from ethereum to this newly added
    network
    
    ## **Screenshots/Recordings**
    
    
    ### **Before**
    
    NA
    
    ### **After**
    
    
    https://github.com/MetaMask/metamask-extension/assets/39872794/35fd0074-7c73-4948-a6da-5d8d09ef4acc
    
    
    
    
    
    ## **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: Alex <[email protected]>
    NidhiKJha and adonesky1 authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    316e5f0 View commit details
    Browse the repository at this point in the history
  4. feat: Support Permit variants: PermitSingle, PermitBatch, PermitTrans…

    …ferFrom, PermitBatchTransferFrom, TradeOrder, Seaport (#26107)
    
    <!--
    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**
    
    **Covered:**
    - feat: Support Permit variants: PermitSingle, PermitBatch,
    PermitTransferFrom, PermitBatchTransferFrom
    - feat: Support Order variants: TradeOrder (Order), Seaport
    (OrderComponents)
    
    **Additionally:**
    - fix: occurrence when value and token decimal has not loaded yet from
    hook
    
    **Blocker:**
    I caught a bug in this code. When we use tokenDecimals to display the
    amount, it might not be for the correct token if it is nested. Need to
    rework the logic to support nested tokenDecimals
    
    **Notes:**
    - Updated current tests. No test logic changes
    - Supporting tests in follow-up PR
    ([Issue](#26134))
    - After precision fix is
    [merged](#25968),
    test cases here will need to be updated
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26107?quickstart=1)
    
    ## **Related issues**
    
    Blocked by: #26105
    
    Fixes: MetaMask/MetaMask-planning#2644
    (PermitSingle)
    Fixes: MetaMask/MetaMask-planning#2666
    (PermitBatch)
    Fixes: MetaMask/MetaMask-planning#2701
    (PermitTransferFrom)
    Fixes: MetaMask/MetaMask-planning#2702
    (PermitBatchTransferFrom)
    Fixes: MetaMask/MetaMask-planning#2667 (Order)
    Fixes: MetaMask/MetaMask-planning#2646
    (Seaport OrderComponents)
    
    ## **Manual testing steps**
    
    See repro steps in related issue tickets above
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    #### PermitSingle
    <img width="320"
    src="https://github.com/user-attachments/assets/de31be3b-cff2-4e74-9d08-d5e52ef43d71">
    
    #### PermitBatch
    <img width="320"
    src="https://github.com/user-attachments/assets/cc18401b-2bca-487e-ba1a-bf48ed777474">
    
    #### Seaport (OrderComponents)
    <img width="320"
    src="https://github.com/user-attachments/assets/25511eec-d1f1-4df1-a3f4-8220bf75d81e">
    
    ## **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 Jul 30, 2024
    Configuration menu
    Copy the full SHA
    cd30d78 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    63cf934 View commit details
    Browse the repository at this point in the history
  6. test: Add manual scenario for network polling scenario (#26195)

    ## **Description**
    
    This PR introduces a new test scenario which relates to a
    release-blocker for v12.0.0. This scenario is to verify that once the
    MetaMask UI is closed, the extension stops all network requests,
    including `etherscan`, `eth_call`, `eth_getBalance`, `eth_blockNumber`,
    and `eth_getBlockByNumber` to Infura or any other RPC provider. This
    check is vital for reducing unnecessary network traffic and enhancing
    both privacy and efficiency within the extension's operation.
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26195?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #25964
    Related release blocker: #25951 
    
    ## **Manual testing steps**
    Follow testing steps in this  manual scenario
    
    ## **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**
    
    - [x] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: Danica Shen <[email protected]>
    chloeYue and DDDDDanica authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    aceea3b View commit details
    Browse the repository at this point in the history
  7. refactor: replace deprecated mixins with Text component in qr-code-vi…

    …ew (#25637)
    
    ## **Description**
    
    This pull request replaces deprecated mixins @include H1 - @include H9
    in the SCSS file with the Text component in the `qr-code-view`
    component. The changes include updating the SCSS file to remove the
    deprecated mixins and modifying the JavaScript file to use the Text
    component with appropriate properties.
    
    Devin Run Link :
    https://preview.devin.ai/devin/8158744e0716415fb64b023769e4ffab
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25637?quickstart=1)
    
    ## **Related issues**
    
    Partially Fixes:
    #20496
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Verify that the QrCodeView component renders correctly without any
    visual issues
    3. Ensure that the Text component is used instead of the deprecated
    mixins
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    ![Before
    Changes](https://api.devin.ai/attachments/9a8904f8-6bff-4d54-90c8-2b0522e7f345/79852720-e3a7-4bb5-b62a-38679aca0b28.png)
    
    ### **After**
    
    ![After
    Changes](https://api.devin.ai/attachments/9a8904f8-6bff-4d54-90c8-2b0522e7f345/79852720-e3a7-4bb5-b62a-38679aca0b28.png)
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    [This Devin
    run](https://preview.devin.ai/devin/8158744e0716415fb64b023769e4ffab)
    was requested by Devin.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Configuration menu
    Copy the full SHA
    649a793 View commit details
    Browse the repository at this point in the history
  8. chore: Create a story for convert-token-to-nft-modal component (#25561)

    ## **Description**
    
    This pull request updates the screenshot for the story on the
    `devin/story-kgJ` branch of the MetaMask extension repository. The
    change ensures that the visual output of the story is accurately
    reflected and up to date.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25561?quickstart=1)
    
    ## **Related issues**
    
    Fixes: N/A
    
    ## **Manual testing steps**
    
    1. Go to the `devin/story-kgJ` branch.
    2. Run the story.
    3. Verify the screenshot reflects the correct output as shown in the PR.
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    <!-- Add any previous screenshots/recordings if available -->
    
    ### **After**
    
    
    ![ConvertTokenToNFTModal](https://api.devin.ai/attachments/77bfef20-a071-4261-be3d-d111fc612617/3b760524-ce12-487d-8ac9-8a6f60f3736a.png)
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability.
    - [X] I’ve included tests if applicable.
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable.
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g., pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    [Devin
    Run](https://preview.devin.ai/devin/2041dc2cae694c76b2c429c376e8f177)
    
    This Devin run was requested by Devin.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Configuration menu
    Copy the full SHA
    ab2f3d7 View commit details
    Browse the repository at this point in the history
  9. refactor: replace Typography with Text component in restore-vault.js (#…

    …25636)
    
    ## **Description**
    
    This pull request includes the migration of the `Typography` component
    to the `Text` component in the `restore-vault.js` file within the
    MetaMask extension repository. The changes involve replacing all
    instances of the `Typography` component with the equivalent `Text`
    component and ensuring that the component APIs are properly migrated.
    The motivation for this change is to align with the updated design
    system and improve the consistency of the codebase.
    
    Devin Run Link:
    https://preview.devin.ai/devin/aeebb66ed7a14386ae48164acd4b2e72
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25636?quickstart=1)
    
    ## **Related issues**
    
    Partially Fixes:
    #17670
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Verify that the "RestoreVaultPage" renders correctly with the `Text`
    component
    3. Ensure that the text content and styling are consistent with the
    design specifications
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    
    ![Before](https://api.devin.ai/attachments/562b4e9e-d827-4133-91c6-f84d903bf68d/f530d045-e0c7-4cc1-b7d7-f6d74a135190.png)
    
    ### **After**
    
    
    ![After](https://api.devin.ai/attachments/e1fcf009-9543-4cce-aafd-1cb8593c7a8f/e7b821bb-6c48-45d0-a953-c3dbbd7f5807.png)
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    [This Devin
    run](https://preview.devin.ai/devin/aeebb66ed7a14386ae48164acd4b2e72)
    was requested by Devin.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Configuration menu
    Copy the full SHA
    a1ccf1f View commit details
    Browse the repository at this point in the history
  10. fix: update icons (#26180)

    ## **Description**
    
    Updates icons
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26180?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.
    sahar-fehri authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    5194f20 View commit details
    Browse the repository at this point in the history
  11. chore: Create a story for NftCollectionImage component (#26069)

    ### **Description**
    
    The story for the `NftCollectionImage` component has been created to
    allow for isolated development and testing of the component's UI.
    
    1. The reason for the change is to provide a Storybook story for the
    `NftCollectionImage` component.
    2. The improvement is the ability to test and develop the
    `NftCollectionImage` component in isolation.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26069?quickstart=1)
    
    ### **Related Issues**
    
    Fixes: N/A
    
    ### **Manual Testing Steps**
    
    1. Go to the latest build of Storybook in this PR.
    2. Navigate to the `NftCollectionImage` component in the `Components/`
    folder.
    
    ### **Screenshots/Recordings**
    
    #### **Before**
    
    <!-- Add any previous screenshots/recordings if available -->
    
    #### **After**
    
    ![Default
    Story](https://api.devin.ai/attachments/0c29d7a4-a0aa-4583-9d68-615b89da7c87/2f9ac95d-b3e1-4ae7-85ea-0dbb7801bd79.png)
    
    ### **Pre-merge Author Checklist**
    
    - [x] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [x] I've completed the PR template to the best of my ability.
    - [x] I’ve included tests if applicable.
    - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable.
    - [x] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ### **Pre-merge Reviewer Checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Configuration menu
    Copy the full SHA
    7a1191b View commit details
    Browse the repository at this point in the history
  12. fix: flaky test `Sentry errors before initialization, after opting in…

    …to metrics @no-mmi should send error events in background` (#26216)
    
    [The test is
    flaky](https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94004/workflows/25f428d4-8fcb-4aca-8ddb-49edb51b57cf/jobs/3499122/tests)
    as sometimes we get a different error in the mocked endpoint, `Error:
    Could not establish connection. Receiving end does not exist`, instead
    of the expected one. This is because the condition for entering into the
    mock is not strict enough, and both errors include `value":"Cannot read
    properties of undefined (reading 'version')` in their body.
    
    The solution here is:
    - make the condition mock more strict, to make sure we capture the error
    we want (not the `receiving end` one)
    - verify that this specific request is mocked - no need to assert on the
    json body as we already have this in the mock condition, however we
    leave it for debugging purposes. The change that has been made, is to
    assert the complete error all in once, so we get a more meaningful
    assertion and failure (if that's the case)
    
    ---------
    
    Co-authored-by: Mark Stacey <[email protected]>
    seaona and Gudahtt authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    a26c725 View commit details
    Browse the repository at this point in the history
  13. chore: update @metamask/bitcoin-wallet-snap to 0.4.0 (#26229)

    ## **Description**
    
    Bump the BTC Snap to version 0.4.0.
    - This new release adds the account name suggestion during account
    creation, which allows us to use the new Snap account creation flow.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25808?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 Jul 30, 2024
    Configuration menu
    Copy the full SHA
    ef812e1 View commit details
    Browse the repository at this point in the history
  14. New Crowdin translations by Github Action (#26230)

    Co-authored-by: metamaskbot <[email protected]>
    metamaskbot and metamaskbot authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    f2ebfe5 View commit details
    Browse the repository at this point in the history
  15. chore: Create a story for GasTiming component (#25557)

    ## **Description**
    
    This pull request adds a Storybook story for the `GasTiming` component
    in the MetaMask extension. The reason for this change is to enable
    isolated testing and visualization of the `GasTiming` component within
    Storybook. The improvement/solution provided by this change is the
    ability to interact with and test the `GasTiming` component in
    isolation, ensuring it renders correctly and behaves as expected.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25557?quickstart=1)
    
    ## **Related issues**
    
    Fixes: N/A
    
    ## **Manual testing steps**
    
    1. Go to the latest build of Storybook in this PR.
    2. Navigate to the `GasTiming` component in the `Components/` folder.
    
    ## **Screenshots/Recordings**
    
    ![Screenshot 2024-07-26 at 4 29
    06 PM](https://github.com/user-attachments/assets/a4cdf323-0ebb-4dd2-a28f-0319fe653b9d)
    
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability.
    - [X] I’ve included tests if applicable.
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable.
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g., pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    [This Devin
    run](https://preview.devin.ai/devin/341a342e86f54dbcaa8c0c117bc36b2f)
    was requested by Devin.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: Garrett Bear <[email protected]>
    Co-authored-by: George Marshall <[email protected]>
    3 people authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    81476bb View commit details
    Browse the repository at this point in the history
  16. chore: Create a story for PageContainerHeader component (#26031)

    ## **Description**
    
    This PR introduces the Storybook story for the `PageContainerHeader`
    component. It enables isolated development and testing of this UI
    component, allowing for visualization and interaction with the
    `PageContainerHeader` in various states to ensure its robustness and
    responsiveness.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25600?quickstart=1)
    
    ## **Related issues**
    
    - None
    
    ## **Manual testing steps**
    
    1. Go to the latest build of Storybook in this PR.
    2. Navigate to the `PageContainerHeader` component in the `Components`
    folder.
    3. Verify that the Storybook entry for this component is functioning
    correctly and displays as expected in various states.
    
    ## **Screenshots/Recordings**
    
    <img width="1509" alt="Screenshot 2024-07-30 at 1 29 03 PM"
    src="https://github.com/user-attachments/assets/6eb7157f-38c4-4a05-b3f0-ec838e08c269">
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability.
    - [X] I’ve included tests if applicable.
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable.
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g., pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings or screenshots.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Configuration menu
    Copy the full SHA
    d4f018a View commit details
    Browse the repository at this point in the history
  17. chore: Pass along hashed rpcUrl during CustomNetworkAdded event (#…

    …26203)
    
    ## **Description**
    
    Pass along hashed `rpcUrl` when added as a custom network. We are
    hashing the rpcUrl for privacy reasons, so that no custom `rpcUrls` get
    leaked. For instance, this would be important for those running their
    own ETH nodes.
    
    When leveraging this new value, analytics should also hash `rpcUrls` of
    common rpc's on chainlist, then compare the hashes. Note that I opted
    _not_ to use the `URL` constructor, since it will enforce trailing `/`
    on base urls when I am noticing that most urls on `chainlist` do not
    have this: https://chainlist.org/chain/1
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26203?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MMASSETS-298 mobile PR also needs to be added.
    
    ## **Manual testing steps**
    
    Add CustomNetwork and ensure that the proper payload is sent in the
    network tab when `CustomNetworkAdded` event fires off.
    
    ## **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: Brian Bergeron <[email protected]>
    gambinish and bergeron authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    5bf8aa7 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. test: header integration test for contract interaction (#25981)

    <!--
    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/25981?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    [#23948](#23948)
    
    ## **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 Jul 31, 2024
    Configuration menu
    Copy the full SHA
    e6955d7 View commit details
    Browse the repository at this point in the history
  2. test: [Page Object Model] rename process to flow (#26228)

    ## **Description**
    
    Following the previous discussions on adopting best practices for the
    Page Object Model (POM) within our e2e testing framework, I've made some
    updates to reflect the merged best practices[ in
    contributor-docs](https://github.com/MetaMask/contributor-docs/blob/main/docs/e2e/extension-e2e-guidelines.md#best-practices).
    
    The key change is to replace the term "processes" with "flows" to more
    accurately and intuitively describe sequences of user interactions.
    Additionally, this PR corrects a typo in the function name
    `loginWithBalanceValidation`.
    
    Reason for Replacing "Process" with "Flow": The term "flows" more
    effectively captures the sequences of user interactions we're automating
    in our e2e tests. By making this change, we aim to reduce confusion and
    enhance clarity, thereby making our test codebase more intuitive for
    future adoption of page object model.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26228?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #24986
    
    ## **Manual testing steps**
    
    1. E2E tests should pass in pipeline
    
    ## **Screenshots/Recordings**
    
    ### **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.
    chloeYue authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    6e29b88 View commit details
    Browse the repository at this point in the history
  3. fix: sentry sessions (#26192)

    Remove all dynamic `autoSessionTracking` enablement.
    Add a custom Sentry transport to prevent any requests reaching Sentry if metrics are disabled.
    Only consider metrics enabled when preference is set and onboarding is complete.
    Enable Sentry if `METAMASK_ENVIRONMENT` is not `production` and `SENTRY_DSN_DEV` is specified.
    Remove the arguments to the `setupSentry` function.
    Flatten all the functions within `setupSentry.js`.
    Log all Sentry messages via the `debug` package based on the `DEBUG` environment variable.
    Add additional log messages for easier debug.
    Add mock `SENTRY_DSN_DEV` to Flask and MMI test builds.
    Remove duplication in package scripts.
    matthewwalsh0 authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    ef05a5f View commit details
    Browse the repository at this point in the history
  4. fix: flaky test Import flow @no-mmi Import Account using json file (#…

    …26240)
    
    <!--
    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 race condition with the import account test, where we import
    an account and then call the `locateAccountBalanceDOM`. The problem is
    that this function will try to find the balance for the `account[0]` for
    the ganache default accounts, which is `25 ETH`, however the newly
    imported account has balance `0 ETH`. If the imported account flow is
    fast, the element `25 ETH` won't be present when we try to find it,
    making the test fail with the error:
    
    ```
    TimeoutError: Waiting for element to be located By(xpath, .//*[./@data-testid = 'eth-overview__primary-currency'][(contains(string(.), '25 ETH') or contains(string(.), '25ETH'))])
    ```
    
    The underlying problem is that we are looking for the wrong balance, as
    the imported account has 0 ETH.
    The fix is to modify the `locateAccountBalanceDOM` to be able to pass an
    account as an optional argument, and then look for the balance for that
    account if it's passed.
    
    
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94268/workflows/ef29c459-de15-4bc6-bef9-83b62611179d/jobs/3508512/parallel-runs/18
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26240?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26241
    
    ## **Manual testing steps**
    
    1. Check ci
    
    ## **Screenshots/Recordings**
    See how in the failing artifact, we have the imported account with
    balance 0, and it cannot locate the 25ETH element.
    
    
    ![image](https://github.com/user-attachments/assets/e60b9c01-eac8-445b-8c64-80b6fc3c0fc5)
    
    See how if we add a delay, the test will always fails, as it looks for
    25ETH which have already disappeared from the DOM.
    
    
    https://github.com/user-attachments/assets/60294ed3-d760-4139-9fad-7080eb776dc3
    
    
    
    ## **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: Danica Shen <[email protected]>
    seaona and DDDDDanica authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    44ecc0f View commit details
    Browse the repository at this point in the history
  5. fix: add extra condition to prevent erroneous calls to fetch insight (#…

    …26248)
    
    ## **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? Sentry was showing `undefined`
    parameters for a signature insight call, it was found that this was
    reproducible when a signature request was rejected.
    2. What is the improvement/solution? Added an extra condition to prevent
    unnecessary calls to `fetchInsight` in the `useSignatureInsights` hook.
    
    ## **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.
    hmalik88 authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    ee8009f View commit details
    Browse the repository at this point in the history
  6. fix: Fix CircleCI create_release_pull_request job (#26246)

    ## **Description**
    
    The `create_release_pull_request` job has been failing since we switched
    to using a shallow checkout by default. It's failing because the first
    step of this job uses the `yarn version` command, which expects a full
    repository history for some reason. The script works again with a full
    checkout.
    
    Example failure:
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94314/workflows/e2b01944-7607-4714-9cac-01489cce3d2e/jobs/3510394
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26246?quickstart=1)
    
    ## **Related issues**
    
    N/A
    
    ## **Manual testing steps**
    
    I was able to reproduce the failure by running the shallow checkout
    steps locally, then running the `release-bump-manifest-version.sh`
    script. I tested that this worked by doing the same thing with a full
    checkout. Note that you need to set the `CI, `CIRCLECI`, and
    `CIRCLECI_BRANCH` environment variables for the script to work.
    
    ## **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 Jul 31, 2024
    Configuration menu
    Copy the full SHA
    07f6134 View commit details
    Browse the repository at this point in the history
  7. chore: refactoring onboarding to remove deprecated components (#26207)

    <!--
    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 pull request aims to remove the deprecated `Box` and `Button`
    components from the onboarding metametrics screen and replace them with
    their counterparts from the design system-aligned component library. The
    primary motivation for this change is to ensure consistency across the
    application by using standardized components, which will improve
    maintainability and reduce the risk of design discrepancies.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26207?quickstart=1)
    
    ## **Related issues**
    
    Fixes: [#issue-number]
    
    ## **Manual testing steps**
    
    1. Navigate to the onboarding metametrics screen in the storybook build
    of this PR.
    2. Verify that the UI elements look consistent with the design system
    guidelines.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <img width="757" alt="Screenshot 2024-07-29 at 3 29 27 PM"
    src="https://github.com/user-attachments/assets/f216b6f2-2268-49e7-8f4d-610f8263c150">
    
    <img width="949" alt="Screenshot 2024-07-29 at 3 59 40 PM"
    src="https://github.com/user-attachments/assets/c42c7500-5a32-4164-8fbf-67848a873ee6">
    
    
    ### **After**
    
    <img width="756" alt="Screenshot 2024-07-29 at 3 30 02 PM"
    src="https://github.com/user-attachments/assets/53d6fd5a-aa7d-4d03-b71d-d77315e67ed2">
    
    <img width="980" alt="Screenshot 2024-07-29 at 3 59 01 PM"
    src="https://github.com/user-attachments/assets/b818a73c-2bfc-4e19-90f0-153e6531d79c">
    
    
    ## **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.
    georgewrmarshall authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    1cc67ee View commit details
    Browse the repository at this point in the history
  8. chore: Create a story for TokenCurrencyDisplay component (#26172)

    Copy pasta of #25278
    
    ## **Description**
    
    This PR introduces a Storybook story for the TokenCurrencyDisplay
    component to facilitate isolated UI testing and development.
    
    ## **Related issues**
    N/A
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Navigate to the TokenCurrencyDisplay component in the Components/UI
    folder.
    
    ## **Screenshots/Recordings**
    
    <img width="1650" alt="Screenshot 2024-06-12 at 2 22 56 AM"
    src="https://github.com/Devin-Applications/metamask-extension-devin/assets/168687171/90985da3-80bc-4865-be6a-bd3d2a4ad340">
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    [Devin
    Run](https://preview.devin.ai/devin/2160d3493b21468dbb83691ab5fefe84)
    georgewrmarshall authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    85c5710 View commit details
    Browse the repository at this point in the history
  9. fix: Fix create_release_pull_request OOM error (#26249)

    ## **Description**
    
    The `create_release_pull_request` job is failing due to a lack of memory
    during the `yarn version` step. The `yarn version` command appears to
    install Yarn dependencies over again. The job where we install Yarn
    dependencies uses a "medium" size execution environment because we
    encountered similar memory issues there, but the
    `create_release_pull_request` job is still using small.
    
    It has been updated to use a medium execution environment, which should
    be enough memory given that it's what `prep-deps` uses.
    
    Example failure:
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94391/workflows/4fce2a9e-2762-4c07-8617-317b0781dd27/jobs/3513290
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26249?quickstart=1)
    
    ## **Related issues**
    
    N/A
    
    ## **Manual testing steps**
    
    We should be able to reproduce this by running the job in a Docker
    image. But I have not tried this. Probably easier to merge it and see if
    it works in this case.
    
    ## **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 Jul 31, 2024
    Configuration menu
    Copy the full SHA
    2beba47 View commit details
    Browse the repository at this point in the history
  10. fix: handle send transaction API errors (#26253)

    <!--
    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 are seeing a pair of sentry errors for a failing deconstruction
    error, `Cannot destructure property 'id' of '(intermediate value)' as it
    is null`:
    
    -
    https://metamask.sentry.io/issues/5093909594/?project=273505&query=is%3Aunresolved+Cannot+destructure+property+%27id%27+of&referrer=issue-stream&statsPeriod=14d&stream_index=0
    -
    https://metamask.sentry.io/issues/5093909594/?project=273505&query=is%3Aunresolved+Cannot+destructure+property+%27id%27+of&referrer=issue-stream&statsPeriod=14d&stream_index=0
    
    This is because instead of returning an error when a transaction fails,
    we return `null` for the metadata.
    
    This PR addresses the underlying issue by rethrowing the error for a
    failed transaction request, then adding UI treatments for the failed
    transaction.
    
    <!--
    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/26253?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Add an `Error` right before the `sendTransaction` background method
    in `addTransactionAndRouteToConfirmationPage`
    2. Go to the send flow
    3. Attempt a basic send
    4. Ensure that `
    ## **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/0342e322-4348-47bd-8bfc-3f92db8f1001
    
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    
    https://github.com/user-attachments/assets/32ba3e75-f266-48c0-abfa-3816c4d3abd5
    
    
    <!-- [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.
    BZahory authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    e00863e View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. fix: add migration to remove any dangling instances of `perDomainNetw…

    …ork` on `SelectedNetworkController` state (#26265)
    
    ## **Description**
    
    We are seeing [an error in sentry
    ](https://metamask.sentry.io/issues/5104456486/?environment=production&project=273505&query=firstRelease%3A12.0.0&referrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=15)
    which indicates that in some users' wallets, the `perDomainNetwork`
    property that previously existed in the `SelectedNetworkController`
    state was not removed. It is still unclear how this property was not
    removed by [this
    migration](https://github.com/MetaMask/metamask-extension/pull/23277/files#diff-2b2686de3b5b64a4a146202844af853e16284cc5e2e752cf8670b89a1d09614fR60)
    in all cases. One theory from @Gudahtt:
    
    >I guess it's possible that this was caused by a write failure. e.g.
    what if the migration was run, and data failed to persist but meta
    succeeded. I am unsure if that is possible in practice, but we saw some
    other mysterious errors that might have a similar explanation.
    
    
    In any case the dangling property results in failures to persist state
    to storage because of an unexpected property. These failures to update
    state both cause the wallet to malfunction and could cause state
    corruption. This PR adds a migration to attempt again to remove this
    piece of state and reset the `SelectedNetworkControllers` `domains`
    state since it may have become corrupted in the meantime.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26265?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    https://metamask.sentry.io/issues/5104456486/?environment=production&project=273505&query=firstRelease%3A12.0.0&referrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=15
    
    ## **Manual testing steps**
    
    n/a
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [ ] 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 1, 2024
    Configuration menu
    Copy the full SHA
    15e1045 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    709a7c6 View commit details
    Browse the repository at this point in the history
  3. refactor: replace deprecated mixins with text component in transactio…

    …n-confirmed (#25551)
    
    ## **Description**
    
    This pull request replaces deprecated mixins with the Text component in
    the `transaction-confirmed.component.js` file. The padding values in the
    Text components have been updated to 4.
    
    Devin Run Link:
    https://staging.itsdev.in/devin/0bf228de1dc64981adb90e7ac712d1e7
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25551?quickstart=1)
    
    ## **Related issues**
    
    Partially Fixes:
    #20496
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Manually check if `TransactionConfirmed` is getting rendered
    correctly
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    
    ![](https://api.devin.ai/attachments/8e7c9a3e-1b46-4835-8539-0f17be6f72cf/before_changes_transaction-confirmed.png)
    
    
    ### **After**
    
    
    ![](https://api.devin.ai/attachments/8e7c9a3e-1b46-4835-8539-0f17be6f72cf/after_changes_transaction-confirmed.png)
    
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [x] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Configuration menu
    Copy the full SHA
    728b0e4 View commit details
    Browse the repository at this point in the history
  4. feat(btc): use new snap account flow for Bitcoin accounts (#26183)

    ## **Description**
    
    This removes the old flow of creating Bitcoin accounts in favor of the
    new generic Snap account creation flow (that includes account renaming).
    
    This PR does require the Bitcoin Snap to emit the suggested names,
    otherwise name accounts will be named as follow: `Snap Account N` (where
    `N` is the number of created Snap accounts + 1).
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26183?quickstart=1)
    
    ## **Related issues**
    
    Relates to:
    - MetaMask/snap-bitcoin-wallet#210
    
    Fixes:
    - MetaMask/accounts-planning#530
    
    ## **Manual testing steps**
    
    > [!NOTE]
    > Since we have updated the Bitcoin Snap version to `0.4.0`, you no
    longer need to manually install the Snap, it's being prebundled with the
    right version that supports account name suggestion
    
    1. Create a Bitcoin account (should be named "Bitcoin Account" by
    default)
    2. Create a Bitcoin testnet account (should be named "Bitcoin Testnet
    Account" by default)
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    
    
    https://github.com/user-attachments/assets/5753ab25-ceb0-441b-a750-3c028a9dc9d8
    
    
    ## **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 1, 2024
    Configuration menu
    Copy the full SHA
    ed28508 View commit details
    Browse the repository at this point in the history
  5. fix(multichain): fix showFiat option for test assets (#26224)

    ## **Description**
    
    Since the introduction of the new Bitcoin accounts in the
    account-list-menu, we introduced a regression regarding the "Show
    conversion in testnets" flag (for both Bitcoin and Ethereum accounts).
    
    This PR fixes that. 
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26224?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    - MetaMask/accounts-planning#545
    
    ## **Manual testing steps**
    
    1. `yarn start:flask`
    2. Enable Bitcoin support (Settings > Experimental > Enable "Add a new
    Bitcoin*" flags
    3. Creates mainnet + testnet Bitcoin accounts
    4. Check that the "Show conversion in tesnets" flag is off
    5. Open the account menu list (click the header top bar, on the
    currently selected account)
    6. You should not see any USD prices except for mainnet accounts (you
    must be on a mainnet EVM networks to see that for your EVM account)
    7. Enables "Show conversion in tesnets" flag
    8. Repeat step 5
    9. You should now see USD prices also for testnet accounts/test assets
    
    ## **Screenshots/Recordings**
    
    
    ### **Before**
    
    
    ![SCR-20240730-mjje](https://github.com/user-attachments/assets/17b44944-44c8-4480-ae37-5c1236b17a81)
    
    ![SCR-20240730-mjme](https://github.com/user-attachments/assets/4cadb111-064c-46d8-b961-5623e2f509a6)
    
    
    ### **After**
    
    
    ![SCR-20240730-mnlq](https://github.com/user-attachments/assets/32ca75a5-0525-40be-90fe-d05fd83033c3)
    
    
    ## **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: Daniel Rocha <[email protected]>
    ccharly and danroc authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    f3383ac View commit details
    Browse the repository at this point in the history
  6. fix: 🐛 use a counter to show if there are pending transactions (#26116)

    ## **Description**
    
    This PR modifies the content of the badge for pending transactions.
    Before this PR, the blue badge showed three dots; now it shows a number
    again.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26116?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**
    
    <img width="140" alt="Screenshot 2024-07-25 at 10 16 28"
    src="https://github.com/user-attachments/assets/39dd4c13-922b-4180-9a82-97dfff5a66d7">
    
    ## **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.
    
    ---------
    
    Co-authored-by: Prithpal Sooriya <[email protected]>
    matteoscurati and Prithpal-Sooriya authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    82ad9c1 View commit details
    Browse the repository at this point in the history
  7. fix: Fix GitHub release description (#26247)

    ## **Description**
    
    For years our release scripts have been creating GitHub releases with
    empty descriptions. GitHub uses the commit message as the description as
    a default, which is always a merge commit in our case, whcih isn't very
    decsriptive. The release scripts are supposed to be setting the
    changelog entries for the current release as the description.
    
    This broke when we last changed our CHANGELOG.md format. Specifically it
    was the release header change that broke this. We started surrounding
    the version number in square brackets, which the awk script did not
    expect.
    
    The script that creates the GitHub release has been updated to pass in a
    version surrounded by square brackets to the awk script, so it is again
    able to find the relevant changelog entries.
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26247?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #18468
    
    ## **Manual testing steps**
    
    Start by checking out `master. Then look at the
    `release-create-gh-release.sh` script, and run the exact same awk
    command that is shown there. Replace `${tag##v}` with the release
    version minus the v (e.g. `12.0.0`).
    
    Before this PR it was `awk -v version="12.0.0" -f
    .circleci/scripts/show-changelog.awk CHANGELOG.md`. This produces no
    output.
    
    After this PR, its `awk -v version="[12.0.0]" -f
    .circleci/scripts/show-changelog.awk CHANGELOG.md`. This produces the
    correct output.
    
    ## **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 1, 2024
    Configuration menu
    Copy the full SHA
    c23a62b View commit details
    Browse the repository at this point in the history
  8. feat: QR-based add NGRAVE ZERO Hardware (#25080)

    <!--
    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**
    Hello,
    
    This PR changes the UI and text to add the NGRAVE ZERO hardware wallet.
    
    Our upcoming release planned for the beginning of July will add QR code
    compatibility with MetaMask following EIP-4527.
    
    <!--
    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/25080?quickstart=1)
    
    ## **Related issues**
    
    Fixes: https://github.com/MetaMask/accounts-planning/issues/536
    
    ## **Manual testing steps**
    
    1. On the hardware wallet, open the 'sync' screen and choose MetaMask
    2. Add a QR based wallet on MetaMask (notice that NGRAVE is not 'coming
    soon' anymore, but listed as a normal option)
    3. Scan the QR code from the hardware wallet.
    
    ## **Screenshots/Recordings**
    
    
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    ![image](https://github.com/MetaMask/metamask-extension/assets/26218337/d67c6182-dd8a-4d57-87df-c2b0ad4a344f)
    
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    
    ![image](https://github.com/MetaMask/metamask-extension/assets/26218337/088862de-0b21-448e-ba5a-c31610a9d14f)
    
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [x] I've completed the PR template to the best of my ability
    - [x] I’ve included tests if applicable
    - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] 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: caiquecruz <[email protected]>
    Co-authored-by: Caíque Cruz <[email protected]>
    3 people authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    34dc082 View commit details
    Browse the repository at this point in the history
  9. chore: Update actions/cache from v3 to v4 (#26020)

    ## **Description**
    
    This resolves this warning, which was shown on all runs of both affected
    workflows:
    >The following actions uses Node.js version which is deprecated and will
    be forced to run on node20: actions/cache/save@v3. For more info:
    https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
    
    Example:
    https://github.com/MetaMask/metamask-extension/actions/runs/10046473531
    
    The only breaking change is that Node.js v20 is now the default runtime.
    See https://github.com/actions/cache/releases/tag/v4.0.0
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26020?quickstart=1)
    
    ## **Related issues**
    
    N/A
    
    ## **Manual testing steps**
    
    No way to test until after merging. After merging, we can check that the
    affected workflows still work correctly, and that they no longer contain
    the quoted error.
    
    ## **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 1, 2024
    Configuration menu
    Copy the full SHA
    3dec722 View commit details
    Browse the repository at this point in the history
  10. fix: remove submitRequest from dapp permission (#26276)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    <!--
    Write a short description of the changes included in this pull request,
    also include relevant motivation and context. Have in mind the following
    questions:
    1. What is the reason for the change?
    2. What is the improvement/solution?
    -->
    
    This pr updates the e2e testing for user operations to use the latest
    snap and removes the `submitRequest` permission from dapps.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26276?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#554
    
    ## **Manual testing steps**
    
    N/A
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask 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 1, 2024
    Configuration menu
    Copy the full SHA
    3f09c80 View commit details
    Browse the repository at this point in the history
  11. fix: Account for persistence flag when setting initial state in `Comp…

    …osableObservableStore` (#26280)
    
    ## **Description**
    
    Fixes a bug where `ComposableObservableStore` would allow non-persistent
    state properties in its `initialState`. This in turn would cause state
    properties flagged as non-persistent to be persisted until a controller
    state change.
    
    This PR addresses this by taking the `persist` flag into account when
    deriving the initial state for each controller. If the controller does
    not support `metadata` or persistence is disabled, everything should
    continue to work as-is.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26280?quickstart=1)
    FrederikBolding authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    fcf474c View commit details
    Browse the repository at this point in the history
  12. chore: Fully remove eth_sign (#24756)

    ## Explanation
    Months ago, because of phishing risk, we disabled the `eth_sign` API
    method by default (users could manually enable it with a preference
    toggle). Now because of additional risk associated with [potentially
    malicious EIP-3074
    invokers](https://ethereum-magicians.org/t/eip-3074-is-unsafe-unnecessary-puts-user-funds-at-risk-while-fragmenting-ux-liquidity-and-the-wallet-stack/19662)
    we are fully removing support for this method.
    
    This PR introduces the changes to `@metamask/signature-controller` and
    `@metamask/preferences-controller` from
    MetaMask/core#4319 which remove `eth_sign`
    related infrastructure.
    
    Additionally it removes all instances of `eth_sign` components and
    references from the extension codebase.
    
    ## References
    
    * Fixes MetaMask/MetaMask-planning#2371
    
    ## **Manual testing steps**
    
    1. Go to the [e2e test dapp](https://metamask.github.io/test-dapp/)
    2. Connect the wallet
    3. Scroll down to the `Eth Sign` card
    (https://metamask.github.io/test-dapp/#ethSign)
    4. Click `Sign`
    5. You should see `Error: The method "eth_sign" does not exist / is not
    available.`
    
    ## **Pre-merge author checklist**
    
    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    adonesky1 authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    757b699 View commit details
    Browse the repository at this point in the history
  13. test: fix flaky test Import flow @no-mmi Import wallet using Secret R…

    …ecovery Phrase (#26275)
    
    ## **Description**
    
    This pull request addresses the flaky test: Import flow @no-mmi Import
    wallet using Secret Recovery Phrase
    CI failure:
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/94292/workflows/550cb2c0-09db-40ef-9478-c951793146b4/jobs/3509303/parallel-runs/4
    
    Reason of flakiness is a race condition happens after switching from
    account 2 to account 1 and immediately starts send flow.
    
    Changes made is to include a step to wait and verify the account balance
    is loaded before starting the send flow.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26275?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26274 
    
    ## **Manual testing steps**
    
    Check ci (test is re-run 5 times)
    
    ## **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**
    
    - [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.
    chloeYue authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    0e66b29 View commit details
    Browse the repository at this point in the history
  14. refactor: ENABLE_MV3 flag cleanup (#26059)

    The way that the `ENABLE_MV3` flag was processed was kind of a mess.
    Sometimes it wasn't checking both options of `'true'` and `undefined`,
    sometimes it was only checking
    `browser.runtime.getManifest().manifest_version`, and it was always
    loquacious.
    
    This PR centralizes it and defines it as:
    ```
    const runtimeManifest =
      global.chrome?.runtime.getManifest() || global.browser?.runtime.getManifest();
    
    const isManifestV3 = runtimeManifest
      ? runtimeManifest.manifest_version === 3
      : process.env.ENABLE_MV3 === 'true' || // Tests on Node.js processes
        process.env.ENABLE_MV3 === undefined;
    ```
    
    ---------
    
    Co-authored-by: legobt <[email protected]>
    Co-authored-by: legobeat <[email protected]>
    3 people authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    80ac1b2 View commit details
    Browse the repository at this point in the history
  15. fix: Remove dangling snapErrors state property (#26282)

    ## **Description**
    
    Adds a line to the `120.2` migration to also remove a dangling state
    property in the `SnapController`, that is causing sentry errors.
    
    This property is likely dangling due to
    #26280
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26282?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26281
    FrederikBolding authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    d157a36 View commit details
    Browse the repository at this point in the history
  16. fix(26065): remove persisted state mostRecentRetrievedState after ini…

    …tialization if no errors (#26206)
    
    <!--
    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**
    A copy of persisted state gets stored in-memory here:
    https://github.com/MetaMask/metamask-extension/blob/ef38d626ccbf39cb98199b0af48731a2d19e4f28/app/scripts/lib/local-store.js#L73
    
    This property is used to get a diagnostic state snapshot if an error
    happens after initialization. We don't use this post-initialization, and
    we should remove it once we have completed initialization.
    
    The `localStore` is used twice during initialization, which is from
    background initialization and sentry background, hence we expose a
    method within `Localstore` as `cleanUpMostRecentRetrievedState` to
    remove persisted `mostRecentRetrievedState` if the initialization is a
    success
    
    <!--
    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/26206?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26065
    
    ## **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.
    DDDDDanica authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    b1327e9 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    883fd75 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    f05aba0 View commit details
    Browse the repository at this point in the history
  19. fix: Truncate extremely long transaction histories (#26291)

    ## **Description**
    
    Transaction histories over 100 entries long have been truncated to 100
    entries.
    
    Transaction histories are not expected to be that large in normal
    circumstances, but we have found cases of users with transactions stuck
    in error loops that result in extremely long histories, causing
    significant performance issues and crashes.
    
    This is a partial solution to that problem. We still need to prevent
    history from growing again. This is accomplished in
    `@metamask/[email protected]`, but that update will be
    included in a later PR because there are some other updates blocking it.
    This migration is added first to make it easier to cherry-pick into
    v12.0.1.
    
    The migration has been set as number 120.3 because we want to cherry-
    pick it into v12.0.1, and using this number avoids needing to re-order
    migrations.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26291?quickstart=1)
    
    ## **Related issues**
    
    Relates to #9372
    
    ## **Manual testing steps**
    
    * Checkout v11.15.6 and create a dev build (unfortunately the repro
    steps don't work on MV3 due to snow being enabled even in dev builds, so
    we're using a pre-MV3 build)
    * Install the dev build from the `dist/chrome` directory and proceed
    through onboarding
    * Make a single transaction
    * Any chain, any transaction, as long as it's approved. We don't even
    need to wait for it to settle.
    * Run this command in the background console to add a huge history to
    the transaction controller and restart the extension:
      ```
      chrome.storage.local.get(
        null,
        (state) => {
          state.data.TransactionController.transactions[0].history.push(
            ...[...Array(100000).keys()].map(() => [
              {
    value: '[ethjs-rpc] rpc error with payload
    {"id":[number],"jsonrpc":"2.0","params":["0x"],"method":"eth_getTransactionReceipt"}
    { "code": -32603, "message": "Internal JSON-RPC error.", "data": {
    "code": -32602, "message": "invalid argument 0: hex string has length 0,
    want 64 for common.Hash", "cause": null }, "stack": ...',
                path: '/warning/error',
                op: 'replace'
              },
              {
                note: 'transactions/pending-tx-tracker#event: tx:warning',
                value: 'There was a problem loading this transaction.',
                path: '/warning/message',
                op: 'replace'
              },
            ]),
          );
          chrome.storage.local.set(state, () => window.location.reload());
        }
      );
      ```
      * The extension should become extremely slow
    * Disable the extension
    * Switch to this branch and create a dev build
    * Enable and reload the extension
      * The extension should no longer be slow
    
    ## **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 1, 2024
    Configuration menu
    Copy the full SHA
    be24e25 View commit details
    Browse the repository at this point in the history
  20. fix: add guard for draft tx in send validation (#26295)

    <!--
    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 have discovered a sentry error for the swaps flow in extension:
    
    
    https://metamask.sentry.io/issues/5659965775/?environment=production&project=273505&query=firstRelease%3A12.0.0&referrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=17
    
    This error is due to the `draftTransaction` not being defined during
    validation; this is resolved with an undefined guard. This error appears
    in other actions; it is resolved in these cases 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/26295?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Set `state.draftTransactions[state.currentTransactionUUID]` to
    `undefined` in `ducks/send/send.js` for all selectors
    2. Go to send flow
    3. Ensure it loads without error
    
    ## **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/fc79f296-5a13-4b84-bb1c-d1ed8613dcad
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    
    https://github.com/user-attachments/assets/8e45be4a-eaef-4ed5-b206-a56daf4b2927
    
    
    <!-- [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 1, 2024
    Configuration menu
    Copy the full SHA
    20dd2d0 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Configuration menu
    Copy the full SHA
    40150cd View commit details
    Browse the repository at this point in the history
  2. fix: remove the ability to send to btc accounts in send page (#26271)

    <!--
    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 removes BTC accounts from the account picker and `Your Accounts`
    list in the send flow.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26271?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#546
    
    ## **Manual testing steps**
    
    1. Create btc account
    2. Select an evm account
    3. Click send
    4. See that the BTC account is not available in `Your Accounts`
    5. Click the account picker and see that the BTC account is not
    available.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    ![Screenshot 2024-08-01 at 15 01
    15](https://github.com/user-attachments/assets/42ab54eb-f97f-46d4-9179-8bc7d6a84fe1)
    ![Screenshot 2024-08-01 at 15 01
    18](https://github.com/user-attachments/assets/e74b0d1a-3192-4831-a3cd-ccefe3e0c74f)
    
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    ![Screenshot 2024-08-01 at 14 58
    39](https://github.com/user-attachments/assets/ba4b3136-766c-4222-afe4-ecbc455cb37c)
    ![Screenshot 2024-08-01 at 14 58
    43](https://github.com/user-attachments/assets/6d9bef5b-68a9-4eee-9a11-672788855000)
    
    
    ## **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: Charly Chevalier <[email protected]>
    montelaidev and ccharly authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    fbd1ea1 View commit details
    Browse the repository at this point in the history
  3. refactor: Refactor migration 120.2 to prepare for additions (#26298)

    ## **Description**
    
    Migration 120.2 has been refactored to prepare for the addition of
    further obsolete state cleanup steps. A few minor functional changes and
    test changes have been made as well.
    
    The changes are:
    * The migration has been refactored to group together changes for each
    controller in separate functions.
    * The `SelectedNetworkController` migration has been updated to delete
    state rather than set it to default. This is functionally equivalent
    (for this controller) and it simplified the migration and tests a bit,
    avoiding the need to verify that the default state was correct.
    * When the `SnapController` state is invalid, we now capture a Sentry
    exception
      * A test has been added for this case as well
    * JSDoc comments have been added to the migration
    * Tests have been grouped together by controller
    * Tests have been added to ensure corrupted controller state does not
    impact the obsolete state removal steps of other controllers
    * Effectively each obsolete state removal function is acting as an
    independent migration here
    * A test was added for the case where `SnapController` state is not set
    * The tests have been updated to deep clone the input to guard against
    the migration failing to do so
    * The `transformState` function was given an explicit return type, and
    the unused return value was removed.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26298?quickstart=1)
    
    ## **Related issues**
    
    Relates to #26297
    
    ## **Manual testing steps**
    
    N/A
    
    ## **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 2, 2024
    Configuration menu
    Copy the full SHA
    b22e018 View commit details
    Browse the repository at this point in the history
  4. feat: Update Redesign Signature Permit to show ellipsis at max 15 dig…

    …its (#26227)
    
    <!--
    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/26227?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26226
    Fixes: MetaMask/MetaMask-planning#2730 (older,
    original issue)
    
    ## **Manual testing steps**
    
    1. Go to cowswap
    2. Swap a token with gas-free approve for another token
    3. Notice the permit signature screen
    
    or
    
    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**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <img width="520"
    src="https://github.com/user-attachments/assets/1b6e45cb-f54b-45e5-968c-141359de7466">
    <img width="320"
    src="https://github.com/user-attachments/assets/804d4e8a-1c47-470e-88a4-c6195c5cf96e">
    
    ## **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 2, 2024
    Configuration menu
    Copy the full SHA
    f001d60 View commit details
    Browse the repository at this point in the history
  5. fix: Remove obsolete NetworkController state (#26302)

    ## **Description**
    
    Migration 120.2 has been updated to remove obsolete NetworkController
    state as well.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26302?quickstart=1)
    
    ## **Related issues**
    
    Fixes #26297
    
    ## **Manual testing steps**
    
    N/A
    
    ## **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 2, 2024
    Configuration menu
    Copy the full SHA
    69e57d8 View commit details
    Browse the repository at this point in the history
  6. fix: Remove obsolete PhishingController state (#26308)

    ## **Description**
    
    Sentry reports showed cases of obsolete state in the PhishingController
    state. This obsolete state has been removed.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26308?quickstart=1)
    
    ## **Related issues**
    
    Fixes #26307
    
    ## **Manual testing steps**
    
    N/A
    
    ## **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 2, 2024
    Configuration menu
    Copy the full SHA
    5b56034 View commit details
    Browse the repository at this point in the history
  7. fix: get permit and order signatures token decimals (#26292)

    <!--
    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**
    
    Fix if clause to fetch token decimals for permit and order signatures.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26292?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.
    cryptotavares authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    2a39edf View commit details
    Browse the repository at this point in the history
  8. fix: undefined market data selector (#26264)

    ## **Description**
    
    Fixes an issue when `Show balance and token price checker` is turned off
    in settings, certain actions like sending, importing, or swapping a
    token crash metamask.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26264?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26243
    
    ## **Manual testing steps**
    
    1. Go into settings > security and privacy
    2. Turn off `Show balance and token price checker`
    3. Switch chains
    4. Click import tokens on the tokens tab. Modal should popup without
    error
    5. Click swap and enter tokens + amount. Swap rate should fetch
    successfully.
    
    ## **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 2, 2024
    Configuration menu
    Copy the full SHA
    c670085 View commit details
    Browse the repository at this point in the history
  9. fix: issue where setNetworkClientIdForDomain was called without che…

    …cking whether the origin was eligible for setting its own network (#26323)
    
    ## **Description**
    
    This PR fixes a issue where `setNetworkClientIdForDomain` was frequently
    called with origins that had no account permissions yet (which is the
    thresshold we currently set for giving site's their own network)
    resulting in [a large number of silent errors in the background that are
    clogging up
    sentry](https://metamask.sentry.io/issues/5659582204/?environment=production&project=273505&qu%5B%E2%80%A6%5Derrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=1).
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26323?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    https://metamask.sentry.io/issues/5659582204/?environment=production&project=273505&qu%5B%E2%80%A6%5Derrer=issue-stream&sort=freq&statsPeriod=90d&stream_index=1
    
    ## **Manual testing steps**
    
    N/A
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    N/A
    ### **After**
    N/A
    
    ## **Pre-merge author checklist**
    
    - [ ] I've followed [MetaMask 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 2, 2024
    Configuration menu
    Copy the full SHA
    80f538e View commit details
    Browse the repository at this point in the history
  10. fix: Remove invalid providerConfig id (#26310)

    ## **Description**
    
    Remove invalid `providerConfig.id` state. This was one possible
    explanation for some Sentry errors that we have been encountering in
    production. The diagnostic state attached to the error was not
    sufficient to confirm that this was the cause.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26310?quickstart=1)
    
    ## **Related issues**
    
    Relates to #26309 and #26320
    
    ## **Manual testing steps**
    
    N/A
    
    ## **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 2, 2024
    Configuration menu
    Copy the full SHA
    b1ecc6c View commit details
    Browse the repository at this point in the history
  11. fix(2946): disable the 'restore backup' in advanced settings (#26325)

    <!--
    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 'restore backup' feature in Extension advanced settings is currently
    broken and we suspect it can lead to state corruption issues.
    
    As a short term action, we shall disable the feature until we find a way
    to really fix it.
    <!--
    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/26325?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#2946
    
    ## **Manual testing steps**
    
    1. Go to settings in extension
    2. Go to advanced
    3. Expect only 1 data exporting option left
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    <img width="833" alt="截屏2024-08-02 16 46 32"
    src="https://github.com/user-attachments/assets/f55ea7e3-4d8e-496b-9530-510d37ae1ba0">
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    <img width="838" alt="截屏2024-08-02 17 08 04"
    src="https://github.com/user-attachments/assets/cf994c64-6d1e-485b-88ab-c6cd99cb3235">
    
    <!-- [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.
    DDDDDanica authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    d47f1c3 View commit details
    Browse the repository at this point in the history
  12. fix: Fix currentNetwork selector when current network config is mis…

    …sing (#26327)
    
    ## **Description**
    
    The `providerConfig` state is not guaranteed to match a built-in or
    custom network. It should in the vast majority of cases, but there are
    some edge cases where that would not hold true. For example:
    * If the wallet crashed partway through removing the current network
    * If the user has had the same network selected since before we
    introduced the `networkConfigurations` state
    
    The `currentNetwork` selector has been updated to handle this case by
    returning a configuration object constructed from the `providerConfig`
    state directly.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26327?quickstart=1)
    
    ## **Related issues**
    
    Fixes #26320
    
    ## **Manual testing steps**
    
    * Create a dev build and proceed through onboarding
    * Run this command in the background console to set `providerConfig` to
    a custom network that isn't present in the user's tracked network
    configurations:
      ```
      chrome.storage.local.get(
        null,
        (state) => {
          state.data.NetworkController.providerConfig = {
            rpcUrl: 'https://mainnet.optimism.io',
            chainId: '0xa',
            ticker: 'ETH',
            type: 'rpc',
          };
          chrome.storage.local.set(state, () => chrome.runtime.reload());
        }
      );
      ```
    * See that the UI can be opened and does not crash.
    
    ## **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 2, 2024
    Configuration menu
    Copy the full SHA
    e5651cf View commit details
    Browse the repository at this point in the history
  13. build: add alternative build process to enable faster developer builds (

    #22506)
    
    Closes MetaMask/MetaMask-planning#1477 and
    MetaMask/MetaMask-planning#1903
    
    This commit adds an alternative build process that is much faster than the
    gulp build we have now, which is quite slow and doesn't make use of
    modern build system improvements. The speed up is possible by making use
    of the SWC compiler, and more modern build system. The build system is
    also a bit simpler and hopefully more maintainable.
    
    This build doesn't yet support:
    
     * HMR/chromereload (requires we get rid of our circular dependencies)
    * lavamoat (neither running the build system _in_ lavamoat, or adding
    lavamoat protections)
     * production builds (because of not supporting lavamoat)
     * MV3 (requires writing a webpack plugin)
    
    Co-authored-by: Howard Braham <[email protected]>
    davidmurdoch and HowardBraham authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    090cb0b View commit details
    Browse the repository at this point in the history
  14. fix: Stop logging pipeline stream errors in the service worker if the…

    …y match 'Premature close' (#26336)
    
    ## **Description**
    
    We have long seen many errors in Sentry that have the message "Premature
    close". This PR addresses those that occur when the UI is closed, and
    when a connected dapp is closed.
    
    This error is thrown from within the readable-stream module when
    multiple streams are passed to the same pipeline. We do not fully
    understand the issue yet, but it is suspected that we are incorrectly
    triggering or handling the destroy or end of a stream.
    
    Some relevant findings:
    - others have experienced similar problems:
    mafintosh/pump#25
    - there are two separate "premature close" errors. One pre-existed this
    PR (and v12.0.0)
    #24533, and one was
    introduced with that PR
    - the one that was introduced with that PR goes away if the
    readable-stream dependency of object-multiplex is revert back to v2.3.3
    - "so I think the problem is that we are explicitly calling destroy on
    some of the stream's in the pipeline, before the pipeline is finished
    doing whatever it needs to do when when the streams are
    ended/closed/finished"
    - if we use `connectionStream.pipe(mux).pipe(connectionStream);` instead
    of `pipeline(connectionStream, mux, connectionStream`, the error goes
    away, but that was changed almost 7 years ago in a PR titled "Memory
    leak fixes - stream and filter life cycles"
    #2070
    
    - With reference to `setupMultiplex`:
    
    - if I change that line to pipeline(connectionStream, mux, (err) => {,
    the error goes away
    - but if I change it to pipeline(mux, connectionStream, (err) => {, the
    error does not go away
    
    
    We understand enough at this point to know that these error are not
    affecting user experience. For the moment, we are going to explicitly
    stop logging them, as the are clogging sentry, and [we can revisit the
    search for root cause in the future
    ](#26337)
    
    Note that there is at least one outstanding case of a "Premature close"
    error that can occur when the application is loading. This PR does not
    attempt to remove that error from being logged.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26336?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26284
    
    ## **Manual testing steps**
    
    1. Open the UI
    2. Clear the background console
    3. Close the UI
    4. There should be no "Premature close" error
    
    ## **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.
    danjm authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    2456ba3 View commit details
    Browse the repository at this point in the history
  15. chore: normalize separator in content on the viewport meta tag (#…

    …26268)
    
    The functionality is the same as before, but it this change works around
    a bug in https://github.com/terser/html-minifier-terser which causes the
    space to be removed, and the tag to become invalid (this only affects
    the webpack build).
    
    Upstream issues:
    
    webdiscus/html-bundler-webpack-plugin#106
    terser/html-minifier-terser#178
    davidmurdoch authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    6b592c5 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. test: Add test for migration 120.2 and fix docs (#26333)

    ## **Description**
    
    A test has been added for migration 120.2 to cover the scenario where
    all state migrations are applicable. The JSDoc block for the migration
    has also been updated to reflect all changes, previously it only covered
    a small subset.
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26333?quickstart=1)
    
    ## **Related issues**
    
    N/A
    
    ## **Manual testing steps**
    
    N/A
    
    ## **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 5, 2024
    Configuration menu
    Copy the full SHA
    b109dec View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. fix: enable Save button on Add Contact page for address input (#26155)

    <!--
    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 patches an issue in `add-contact.component.js` where the disabled
    state of the `Save` button would disappear only after a successful ENS
    resolution, effectively preventing plain addresses to be entered.
    I also added some extra unit tests to check for some of the cases that
    weren't covered before.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26155?quickstart=1)
    
    ## **Related issues**
    
    fixes #25918
    fixes #25889
    
    ## **Manual testing steps**
    
    1. Go to Settings > Contacts > Add Contact
    2. Enter a name and a valid Ethereum address
    3. Observe the Save button getting enabled
    4. Edit the address to make it invalid, observe the Save button getting
    disabled
    5. Instead of an address, enter an ENS name and pick the resolved result
    6. Observe the Save button getting enabled
    7. Observe that the input is still editable (repeat 4.)
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [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.
    
    ---------
    
    Signed-off-by: Mircea Nistor <[email protected]>
    mirceanis authored Aug 6, 2024
    Configuration menu
    Copy the full SHA
    59cee4e View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. fix(25350): fix flakey token importing e2e test (#26351)

    <!--
    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**
    Captured in
    https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/95033/workflows/faea9f93-9600-4207-bb3c-2dc17eec663b/jobs/3536505/tests.
    
    This test is flaky from not waiting for token price to be fetched and
    rendered properly. The simple fix would be
    - wait until token is imported after modal is closed 
    - use `findVisibleElement` and the built in `timeout` to wait for
    element to be rendered properly
    
    Attached to this PR is a report
    [here](#26351 (comment))
    of running it 20 times after the fix and results in no flakiness.
    
    <!--
    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/26351?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26350
    
    ## **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.
    DDDDDanica authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    91dc6ea View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. feat: Add metrics for alerts (transactions redesign) (#26121)

    <!--
    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**
    
    Recently the Alert System was introduced to redesigned confirmations
    with this the alerts for those confirmations were migrated to use the
    new Alert System. This PR introduces infrastructure to track metrics for
    alerts in the redesigned confirmation system. It ensures that alert
    metrics are captured and included in the necessary places for tracking.
    
    
    The use of a context to manage shared state for alert metrics within the
    confirmation flow. The context approach was chosen because it allows us
    to maintain a single instance of the shared state per confirmation. This
    is crucial for ensuring that clicks on different inline alerts and
    actions are persisted and aggregated into a unified set of properties.
    These aggregated properties are then added to the transaction event,
    providing a comprehensive view of user interactions within the
    confirmation process.
    
    <!--
    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/26121?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#2709
    
    ## **Manual testing steps**
    
    1. Go to the test dapp
    2. in the session `PPOM - Malicious Transactions and Signatures` > mint
    ERC20
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    
    [confirm.webm](https://github.com/user-attachments/assets/43d88b5a-c10e-472f-8603-83a344ca71ca)
    
    
    [reject.webm](https://github.com/user-attachments/assets/ce13cb90-89f7-43d7-8336-281ab784f4eb)
    
    ### **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: Matthew Walsh <[email protected]>
    vinistevam and matthewwalsh0 authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    bc6539b View commit details
    Browse the repository at this point in the history
  2. refactor: replace deprecated mixins with text component in loading-sw…

    …aps-quotes (#25553)
    
    ## **Description**
    
    This pull request replaces deprecated mixins with the Text component in
    the `loading-swaps-quotes` file. The changes include updating the SCSS
    and JS files to use the Text component and related enums, as well as
    deleting specific SCSS instances as instructed by the user.
    
    Devin Run Link:
    https://staging.itsdev.in/devin/edffa827e63141c8a3214c25ecf4a760
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25553?quickstart=1)
    
    ## **Related issues**
    
    Partially Fixes:
    #20496
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Manually check if `LoadingSwapQuotes` is getting rendered properly
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    
    ![](https://api.devin.ai/attachments/957044a7-ae7a-442e-ad5c-b5ca03c5d6f2/before_changes_loading-swaps-quotes.png)
    
    
    ### **After**
    
    ![](https://api.devin.ai/attachments/f3b372f6-d4f7-4e40-a485-8c642a28b1e7/4e483d0c-1c7c-467c-9c0a-f945b6341919.png)
    
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [x] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Configuration menu
    Copy the full SHA
    73460d5 View commit details
    Browse the repository at this point in the history
  3. refactor: replace deprecated mixins with Text component in slippage-b…

    …uttons (#25638)
    
    ## **Description**
    
    This pull request replaces deprecated mixins @include H1 - @include H9
    in SCSS with the Text component in the "MetaMask/metamask-extension"
    repository. The changes are made in the
    `ui/pages/swaps/slippage-buttons/index.scss` and `slippage-buttons.js`
    files.
    
    1. What is the reason for the change?
    - The deprecated mixins @include H1 - @include H9 need to be replaced
    with the Text component to ensure consistency and maintainability in the
    codebase.
    
    2. What is the improvement/solution?
    - The deprecated mixins are replaced with the Text component, and the
    corresponding CSS properties are mapped to the Text component props.
    
    Devin Run Link :
    https://preview.devin.ai/devin/78aa98c3ee2b43c685a605db902abe1a
    
    Requested by: Devin
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25638?quickstart=1)
    
    ## **Related issues**
    
    Partially Fixes:
    #20496
    
    ## **Manual testing steps**
    
    1. Go to the latest build of storybook in this PR
    2. Verify that the SlippageButtons component renders correctly with the
    updated Text components.
    3. Ensure that the styles and functionality of the component remain
    consistent with the previous implementation.
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    ![Before
    Changes](https://api.devin.ai/attachments/5d79c749-95ee-4131-92f6-8920e7ee6cc1/bbf6edb1-2de5-4a8b-ae0a-6e6681408f49.png)
    
    ### **After**
    
    ![After
    Changes](https://api.devin.ai/attachments/6e6a22ac-a050-4bff-858a-a15752ce5d2d/after_changes_slippage-buttons.png)
    
    ## **Pre-merge author checklist**
    
    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability.
    - [X] I’ve included tests if applicable.
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable.
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Co-authored-by: George Marshall <[email protected]>
    Co-authored-by: Garrett Bear <[email protected]>
    3 people authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    13fec63 View commit details
    Browse the repository at this point in the history
  4. refactor: add performance tracing infrastructure (#26044)

    Add the `trace` method, to be used anywhere in the client to generate a Sentry trace to monitor and analyse performance metrics.
    Add buttons to the developer settings as an easy mechanism to generate Sentry errors (in the UI or background) and traces.
    Add the `Sentry.browserTracingIntegration` to automatically generate traces for each page navigation, including nested spans for any HTTP requests.
    Update the Sentry debugging documentation in the `README`.
    matthewwalsh0 authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    1ccd235 View commit details
    Browse the repository at this point in the history
  5. feat: Add integration test for blockaid on contract interaction (#26366)

    <!--
    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**
    
    Introduces an integration test that checks that the blockaid alert
    appears for a malicious transaction.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26366?quickstart=1)
    
    ## **Related issues**
    
    Fixes: [2748](MetaMask/MetaMask-planning#2748)
    
    ## **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 12, 2024
    Configuration menu
    Copy the full SHA
    13b5ae7 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. fix: remove submitRequest from dapp permission (#26319)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    <!--
    Write a short description of the changes included in this pull request,
    also include relevant motivation and context. Have in mind the following
    questions:
    1. What is the reason for the change?
    2. What is the improvement/solution?
    -->
    
    This pr updates the e2e testing for user operations to use the latest
    snap and removes the `submitRequest` permission from dapps.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26276?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#554
    
    ## **Manual testing steps**
    
    N/A
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask 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 13, 2024
    Configuration menu
    Copy the full SHA
    1fef871 View commit details
    Browse the repository at this point in the history
  2. refactor(notifications): use contentful package as dev dependency (#2…

    …6381)
    
    <!--
    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 only use this package for its types, so can be treated as a dev
    dependency. This will also resolve the audit issue currently seen in
    [CI](https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/95274/workflows/b92333ec-1a1c-4ce6-bd7d-7601fe14e1e3/jobs/3546366).
    
    <!--
    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/26381?quickstart=1)
    
    ## **Related issues**
    
    Fixes: CI issues, and better reflects the use case of this dependency.
    
    ## **Manual testing steps**
    
    Re-test notifications flow
    
    1. Onboard with new or existing wallet
    2. Enable notifications
    3. Perform a swap on Polygon (a chain we support on-chain notifications
    for)
    4. See if notifications appear.
    
    For Notification Devs: As there is no feature announcements yet,
    manually change the code to point to a portfolio feature announcement.
    I've tested and it seems that we still correctly show a feature
    announcement to users.
    
    ## **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.
    Prithpal-Sooriya authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    cad49eb View commit details
    Browse the repository at this point in the history
  3. fix: Add migration 120.4 to delete obsolete currency controller state (

    …#26383)
    
    ## **Description**
    
    We are seeing the following sorts of errors in production, as reported
    by sentry, in v12.0.2:
    `No metadata found for 'conversionDate'`
    `No metadata found for 'usdConversionRate'`
    `No metadata found for 'nativeCurrency'`
    `No metadata found for 'conversionRate'`
    
    Example issue:
    https://metamask.sentry.io/issues/5682684113/events/b8006eebb65749f883e907242e52215b/?project=273505&query=is%3Aunresolved+issue.priority%3A%5Bhigh%2C+medium%5D+No+metadata+release%3A12.0.1&referrer=previous-event&statsPeriod=14d&stream_index=1
    
    The `CurrencyRateController` stopped using six such properties with
    MetaMask/core#1805, which was brought into the
    extension with #21549, however, there was not a state migration to
    delete those properties at the time
    
    This PR adds migrations to delete those obsolete properties
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26383?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26356
    
    ## **Manual testing steps**
    
    To observe the error using steps that mimic users in production
    1. Install v11.6.0 and onboard
    2. Create a local dev build from the `master` branch
    3. Update the v11.6.0 install to the local dev build
    4. See the errors in the service worker console
    
    If you repeat those steps, but in step two build from this branch
    instead of the `master` branch, the errors will not occur
    
    For a faster manual test of this PR, create a local development build of
    this branch and then run this script in the service worker console:
    ```
    window.chrome.storage.local.get(({ data, meta }) => chrome.storage.local.set({ data: { ...data, CurrencyController: { ...data.CurrencyController, conversionDate: 'Jan 1', conversionRate: '2', nativeCurrency: 'test' } }, meta: {...meta, version: 120 } }, () => { chrome.runtime.reload() }))
    ```
    There should be no errors like `No metadata found for 'conversionRate'`
    (but if you do the same on develop or master, those errors should be
    present)
    
    ## **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.
    
    ---------
    
    Co-authored-by: Mark Stacey <[email protected]>
    danjm and Gudahtt authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    ac638f1 View commit details
    Browse the repository at this point in the history
  4. chore: MMI move duck and selector to TS (#26125)

    <!--
    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**
    
    Moves our institutional duck and selector files to TS:
    ```
    ui/ducks/institutional/institutional.ts
    ui/selectors/institutional/selectors.ts
    ```
    
    ## **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.
    
    ---------
    
    Co-authored-by: Albert Olivé <[email protected]>
    zone-live and albertolive authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    717376e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8b47a79 View commit details
    Browse the repository at this point in the history
  6. feat: updated SSK version in e2e and added test for creating multiple… (

    #26378)
    
    ## **Description**
    
    Adds an e2e test where the account Snap suggests the same account name
    more than once.
    The expected behavior is that the default account names should have an
    increasing numeric suffix, e.g.:
    
    - SSK Account
    - SSK Account 2
    - SSK Account 3
    
    Dependency: MetaMask/snaps-registry#735
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26378?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#548
    
    ## **Manual testing steps**
    
    1. Install the [Snap Simple
    Keyring](https://metamask.github.io/snap-simple-keyring/latest/) and
    connect to the dapp
    2. Create an account -> name of 1st account should be "SSK Account"
    3. Create more accounts -> 2nd account should be "SSK Account 2" and so
    forth
    4. Try renaming a numbered SSK Account to a higher number, the next
    account created should be the lowest possible available "SSK Account X"
    with X being the lowest available number
    
    ## **Screenshots/Recordings**
    
    
    https://github.com/user-attachments/assets/b2404a8f-dbe9-468f-9ca3-aac1e028acae
    
    ## **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.
    k-g-j authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    b3c2323 View commit details
    Browse the repository at this point in the history
  7. fix: Delete obsolete properties from phishingController and networkCo…

    …ntrol… (#26396)
    
    <!--
    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**
    
    Expands on #26383 to
    delete more obsolete state from the Network and Phishing controllers, to
    eliminate other sentry errors.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26396?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Go to this page...
    2.
    3.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    
    ---------
    
    Co-authored-by: Mark Stacey <[email protected]>
    danjm and Gudahtt authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    a59d178 View commit details
    Browse the repository at this point in the history
  8. fix: Fix invalid state causing migration 88 to fail (#26397)

    <!--
    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 have found evidence that migration 88 is failing for some users due
    to a `null` key in the `TokensController.allTokens` state. The migration
    has been updated to delete any invalid `null`-keys prior to migrating
    it, preventing the error.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26397?quickstart=1)
    
    ## **Related issues**
    
    Fixes #25938
    
    ## **Manual testing steps**
    
    The unit tests demonstrate the affected scenario fairly well. We
    addressed the "null key" case for a variety of different parts of state,
    but specifically the one we are seeing in prod is the `allTokens` state
    having a `null` key.
    
    ## **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 13, 2024
    Configuration menu
    Copy the full SHA
    8901b68 View commit details
    Browse the repository at this point in the history
  9. test: snap account contract interaction (#26234)

    ## **Description**
    
    This PR will introduce an e2e test for a snap account interacting with a
    contract via the test dapp.
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26234?quickstart=1)
    
    ## **Related issues**
    
    Fixes: [470](MetaMask/accounts-planning#470)
    
    ## **Manual testing steps**
    
    `yarn build:test:mv2` then `ENABLE_MV3=false yarn test:e2e:single
    test/e2e/accounts/snap-account-contract-interaction.spec.ts
    --browser=firefox`
    `yarn build:test` then `yarn test:e2e:single
    test/e2e/accounts/snap-account-contract-interaction.spec.ts
    --browser=chrome`
    
    ## **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
    - [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: Gustavo Antunes <[email protected]>
    plasmacorral and gantunesr authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    50949f8 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. refactor: use core profile syncing controllers. (#26370)

    ## **Description**
    
    1st migration to shared controllers. This adds the reusable controllers
    from core. Migrated `AuthenticationController` and
    `UserStorageController`
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26370?quickstart=1)
    
    ## **Related issues**
    
    Fixes: N/A
    
    ## **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: MetaMask Bot <[email protected]>
    Prithpal-Sooriya and metamaskbot authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    f9353f4 View commit details
    Browse the repository at this point in the history
  2. fix: Improve hex copy button (#26384)

    <!--
    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 leverages the copy behaviour introduced in the InfoRow component
    in #25682 to update
    the design for copying hex data in the transaction advanced details.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26384?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**
    
    <img width="472" alt="Screenshot 2024-08-13 at 11 20 34"
    src="https://github.com/user-attachments/assets/8157a20a-e1dc-428a-a22b-b607a270cea1">
    
    
    ### **After**
    
    <img width="472" alt="Screenshot 2024-08-13 at 11 12 45"
    src="https://github.com/user-attachments/assets/793a2751-f439-4978-ab0b-fc5739ae9a37">
    
    
    ## **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 14, 2024
    Configuration menu
    Copy the full SHA
    3c89610 View commit details
    Browse the repository at this point in the history
  3. fix: Restore snaps-controllers version following patch (#26412)

    <!--
    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**
    
    
    090cb0b
    unintentionally rolled back several versions of `snaps-controllers` by
    applying a patch. This PR applies the same patch to the previously
    integrated version, bringing the `snaps-controllers` version back to
    `9.2.0`.
    FrederikBolding authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    0a03bd8 View commit details
    Browse the repository at this point in the history
  4. fix: notifications use better events (#26410)

    <!--
    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 updates and introduces some events necessary for the
    notifications team to track user interaction with notifications.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26410?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    ### **After**
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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 14, 2024
    Configuration menu
    Copy the full SHA
    92eb990 View commit details
    Browse the repository at this point in the history
  5. fix: Enter key on Create Account checkbox should not trigger show/hide (

    #26394)
    
    <!--
    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**
    
    - Replaces deprecated CheckBox component with design-system component
    - Stops implicit submit button behavior on form show/hide password
    - As an extra measure, use e.preventDefault() on the terms checkbox
    event to prevent show/hide toggle
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26394?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26407
    ("Enter" on terms checkbox input)
    Fixes: #26408
    ("Enter" on password text inputs)
    
    ## **Manual testing steps**
    
    1. Go to the onboarding Create Account page
    2. Enter passwords
    3. Tab to checkbox
    4. Press "Enter" key
    5. Observe passwords show/hide
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    #### password inputs
    
    https://github.com/user-attachments/assets/7a25f0d5-5ee1-4f85-9959-518f39eefbfb
    
    #### checkbox
    
    https://github.com/user-attachments/assets/808347bd-de96-4d07-b9ae-154ed10fc20f
    
    ### **After**
    
    #### checkbox
    
    https://github.com/user-attachments/assets/b77df2aa-0ff7-4e4e-b673-c43c137f4174
    
    ## **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 14, 2024
    Configuration menu
    Copy the full SHA
    e644e1d View commit details
    Browse the repository at this point in the history
  6. fix: Flaky contract interaction test (#26420)

    <!--
    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**
    
    On #26234,
    `scrollAndConfirmAndAssertConfirm` was modified to use
    `clickElementSafe` instead of `clickElement`.
    
    Even though this was probably useful for the test in
    `snap-account-contract-interaction.spec.ts` that the PR introduced, it
    broke `Sends a contract interaction type 2 transaction with custom nonce
    editing (EIP1559)` inside `contract-interaction-redesign.spec.ts`. This
    is because `clickElementSafe` doesn't attempt to find a clickable
    element multiple times like `clickElement`. Without that retry, the
    scroll button was not pressed. Without that, the confirm button in the
    footer was not enabled and the test fails.
    
    Adding a delay before the particular usage of
    `scrollAndConfirmAndAssertConfirm` that was failing fixes the test
    execution.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26420?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26417
    
    ## **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: Harika Jetpoluru <[email protected]>
    pedronfigueiredo and hjetpoluru authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    bef5b8f View commit details
    Browse the repository at this point in the history
  7. fix: Do not break application if no token details are found using get…

    …TokenStandardAndDetails (#26324)
    
    <!--
    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**
    
    Upon further observation and while work on test cases with varying mock
    data, I found code improvements and, I believe, fixes related to the
    Permit code.
    
    1. If getTokenStandardAndDetails does not return token details, the app
    should not break. The PR handles this in 2 locations of the application.
    2. We should serialize the behavior in useEffect to run set states so
    that it does not run async
    
    
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26324?quickstart=1)
    
    ## **Related issues**
    
    Related to: #25410
    Related to: #26107
    
    ## **Manual testing steps**
    
    1. Go to this page...
    3.
    4.
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    
    ## **Pre-merge author checklist**
    
    - [ ] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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 14, 2024
    Configuration menu
    Copy the full SHA
    03a6569 View commit details
    Browse the repository at this point in the history
  8. chore: Remove i18n translations from Developer Options Settings Page (#…

    …26380)
    
    <!--
    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 the Developer Options Settings Page is only used internally,
    remove translation support.
    
    No visible english-version UI/UX changes
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26380?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #24412
    
    ## **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. -->
    no ui/ux changes
    
    ![CleanShot 2024-08-12 at 22 49
    44](https://github.com/user-attachments/assets/3f9b9b7b-9be8-4761-823f-721ae24ab838)
    
    
    
    
    ## **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 14, 2024
    Configuration menu
    Copy the full SHA
    cdd543d View commit details
    Browse the repository at this point in the history
  9. feat: feature-flagged cross-chain swaps route [METABRIDGE-867] (#25811)

    <!--
    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 a placeholder route for the cross-chain swaps
    experience (roughly based on swaps page). Clicking on the Bridge button
    should link to the route when the feature flag is turned on. Otherwise,
    the portfolio bridge experience is loaded (current behavior)
    
    New e2e tests: #25812
    
    Migration to BaseController v2:
    #26109
    
    <!--
    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/25481?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    [METABRIDGE-867](https://consensyssoftware.atlassian.net/browse/METABRIDGE-867)
    
    ## **Manual testing steps**
    
    1. Build locally and set `BRIDGE_USE_DEV_APIS=1`
    2. Check that bridge-api getAllFeatureFlags is fetched
    3. Verify that bridgeState FF  is set to true in state logs
    3. Click on Bridge button and verify Bridge page is visible
    5. Build locally and set `BRIDGE_USE_DEV_APIS=0`
    6. Wait ~10 minutes
    7. Reload and Check that bridge-api getAllFeatureFlags is fetched
    3. Verify that bridgeState FF  is set to false in state logs
    8. Click on Bridge button and verify Portfolio URL is opened in a new
    tab
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    N/A
    
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    <!-- [screenshots/recordings] -->
    ![Screenshot 2024-07-12 at 3 44
    34 PM](https://github.com/user-attachments/assets/9490eb40-8239-4aad-9a28-ed5624e2b51e)
    
    ## **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.
    
    
    [METABRIDGE-867]:
    https://consensyssoftware.atlassian.net/browse/METABRIDGE-867?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
    micaelae authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    42326a7 View commit details
    Browse the repository at this point in the history
  10. build(webpack): polyfill setImmediate (#26398)

    Fixes flaky test `Sentry errors after initialization, after opting into metrics @no-mmi should send error events in background` in the webpack build.
    davidmurdoch authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    c5c13d5 View commit details
    Browse the repository at this point in the history
  11. test: ensure bridge button handles clicks according to feature flags (#…

    …25812)
    
    <!--
    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 tests for new cross-chain swaps routes
    
    <!--
    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/25793?quickstart=1)
    
    ## **Related issues**
    
    Follow-up to #25811
    
    ## **Manual testing steps**
    
    1. New tests should run successfully
    
    ## **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.
    micaelae authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    2707dc3 View commit details
    Browse the repository at this point in the history
  12. fix: Delete invalid SelectedNetworkController state (#26428)

    ## **Description**
    
    The `SelectedNetworkController` state is cleared if any invalid
    `networkConfigurationId`s are found in state. We are seeing reports of
    this happening in production in v12.0.1.
    
    The suspected cause is `NetworkController` state corruption. We resolved
    a few cases of this in v12.0.1, but for users that were affected by
    this, the invalid IDs may have propogated to the
    `SelectedNetworkController` state already. That is what this migration
    intends to fix.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26428?quickstart=1)
    
    ## **Related issues**
    
    Fixes #26309
    
    ## **Manual testing steps**
    
    We don't have clear reproduction steps for the bug itself. To
    artificially reproduce the scenario by changing extension state, this
    should work:
    
    * Create a dev build from v12.0.2
    * Install the dev build from the `dist/chrome` directory and proceed
    through onboarding
    * Visit the test dapp, refresh, and connect to it.
    * Run this command in the background console:
      ```
      chrome.storage.local.get(
        null,
        (state) => {
    
    state.data.SelectedNetworkController.domains['https://metamask.github.io']
    = '123';
          chrome.storage.local.set(state, () => chrome.runtime.reload());
        }
      );
      ```
      * The linked error should now appear in the console of the popup
    * Disable the extension
    * Switch to this branch and create a dev build
    * Enable and reload the extension
      * The error should no longer appear.
    
    ## **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 14, 2024
    Configuration menu
    Copy the full SHA
    e3144c5 View commit details
    Browse the repository at this point in the history
  13. feat: Enable why did you render (#26339)

    <!--
    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**
    
    1. What is the reason for the change?
    - Enables the [why did you
    render](https://github.com/welldone-software/why-did-you-render) tool
    for the extension.
    - this tool helps us more easily identify performance issues and
    unnecessary re renders
    - this is a dev environment tool that should not be used in production.
    2. What is the improvement/solution?
    - create a new ENV variable to enable/disable this tool. This variable
    is named `ENABLE_WHY_DID_YOU_RENDER`
    - `this tool will disabled by default` (`-ENABLE_WHY_DID_YOU_RENDER:
    false`)
    - when enabled, this tool profiles the entire app and logs for render
    reports in the browser console
    - these are very useful when debugging performance issues as well as in
    day to day development when trying to reduce rerenders
    - to install this tool I followed these setup instructions:
    https://github.com/welldone-software/why-did-you-render?tab=readme-ov-file#setup
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26339?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    #### Steps to ensure that this feature is disabled by default
    1. yarn install && yarn start
    9. load app in browser
    10. cerate wallet
    11. open browser console
    12. There should be no render report logs in your console
    
    #### Steps to test enabling the render reports
    (assuming you already built the app in the previous steps)
    1. open `builds.yml`
    2. scroll to the bottom and find the `WHY_DID_YOU_RENDER_ENABLED`
    variable
    4. set the value to `true`
    5. run `yarn start`
    6. reload the extension in the browser
    7. open the browser console
    8. you SHOULD see render reports for the component that you are on
    
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    N/A
    
    ### **After**
    en example of a render report
    <img width="681" alt="Screenshot 2024-08-13 at 11 20 41 AM"
    src="https://github.com/user-attachments/assets/49e6e1d9-ea12-419a-8bba-676fa36c2520">
    
    
    video showing that this feature is `disabled` by default and can be
    turned on by changing the feature flag
    
    
    https://github.com/user-attachments/assets/83c17ef9-94a7-44d7-b076-95de0d3a9b31
    
    video showing general use case.
    
    
    https://github.com/user-attachments/assets/9668db06-f193-4d1a-b5a3-ef7880514f40
    
    
    ## **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).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    ---------
    
    Co-authored-by: MetaMask Bot <[email protected]>
    owencraston and metamaskbot authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    bf01aaf View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. chore: migrate BridgeController to BaseController v2 (#26109)

    <!--
    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**
    
    Changes
    - split up bridge controller class into separate files
    - upgrade bridge controller implementation to extend BaseController V2
    
    <!--
    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/26109?quickstart=1)
    
    ## **Related issues**
    
    Fixes: https://consensyssoftware.atlassian.net/browse/METABRIDGE-866
    
    ## **Manual testing steps**
    
    1. No user-facing changes so just verify that tests pass
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    N/A
    <!-- [screenshots/recordings] -->
    
    ### **After**
    
    N/A
    <!-- [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 15, 2024
    Configuration menu
    Copy the full SHA
    c37451d View commit details
    Browse the repository at this point in the history
  2. fix: timeout and "Rerun failed tests" (#26239)

    ### The problem from Mark Stacey
    
    > Today I learned that the "Rerun failed tests" button in CircleCI can
    result in some tests being skipped completely, never having been run for
    that commit at all.
    "Rerun failed tests" will only rerun tests that had failed. It will skip
    tests that haven't been run at all. This is problematic when the test
    process exits before all tests are run, like if a test hits the 20
    minute timeout we have set.
    
    I rewrote .circleci/scripts/test-run-e2e.sh to allow `config.yml` to be
    simpler, and 45 lines shorter. Now if it timeouts and someone tries to
    "Rerun failed tests" the result will be
    `Error: can not rerun failed tests: no failed tests could be found`
    
    So it doesn't stop you from trying, but it fails once you try.
    
    I also removed some unnecessary `|` for line continuations.
    
    This might not catch `no_output_timeout` failures.
    HowardBraham authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    19f84ab View commit details
    Browse the repository at this point in the history
  3. test: add transaction contract interaction integration tests (#26272)

    <!--
    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 UI integration tests for redesigned contract interaction
    transaction.
    The added tests validate the transaction details section as well as the
    advanced details section.
    
    ## **Related issues**
    
    Fixes MetaMask/MetaMask-planning#2746, fixes
    MetaMask/MetaMask-planning#2747
    
    ## **Manual testing steps**
    
    1. No need, this PR only adds UI integration tests
    
    ## **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: Priya Narayanaswamy <[email protected]>
    cryptotavares and pnarayanaswamy authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    a57529b View commit details
    Browse the repository at this point in the history
  4. feat: Add abstraction for Snaps permissions (#25175)

    ## **Description**
    Add abstraction for Snaps permissions. Permissions under certain weight
    threshold are hidden, following the rules described in the related task.
    
    #### Change summary
    - Changes are made to Snap Instal and Snap Update components, as well in
    the hook `useScrollRequired` in order to handle the new scrolling
    behavior requested by @eriknson. The new requirement is to never show
    scroll arrow (requirement) again, if the user has scrolled to the bottom
    once.
    - New component `SnapPermissionAdapter` is added to avoid further code
    complication and duplication. This component will handle displaying
    final set of permissions.
    - Snap settings view is supposed to show all granted permissions at
    once. So, the new flag is added to the permission list component so the
    permission abstraction can be disabled in Snap settings.
    - Configurations for permission weight thresholds used for abstraction,
    are added to `shared/constants/permissions.ts`.
    - Permission weights are updated according to the notion document.
    
    #### Notes
    _(For reviewers)_ Some small fragments of UI might be different from the
    design sources linked. This is outcome of the several discussions
    between me and @eriknson. For more information contact me or @eriknson.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/25175?quickstart=1)
    
    ## **Related issues**
    Fixes: MetaMask/snaps#2235
    
    ## **Manual testing steps**
    1. Try installing or updating Snaps with different numbers of
    permissions with different weights. The best option is to try many of
    the test Snaps.
    2. Verify that UI is rendered according to logic described in the
    related task.
    
    ## **Screenshots/Recordings**
    ### **Before**
    Before there was no "See all permissions" and similar functionalities
    related to the scrolling. I think that's the only thing that could
    compare. There is probably no need to screenshot everything from before,
    etc. QA to verify.
    
    ### **After**
    ![Screenshot 2024-06-13 at 12 19
    45](https://github.com/MetaMask/metamask-extension/assets/13301024/d7d948a6-d7e5-47af-b91d-da16c95edda3)
    ![Screenshot 2024-06-13 at 12 20
    01](https://github.com/MetaMask/metamask-extension/assets/13301024/84845ab2-a4a9-4409-8c15-ff3c41975678)
    ![Screenshot 2024-06-13 at 12 20
    23](https://github.com/MetaMask/metamask-extension/assets/13301024/8c3ee56d-ce30-4b62-a25a-32ae66c8a2ca)
    ![Screenshot 2024-06-13 at 12 20
    33](https://github.com/MetaMask/metamask-extension/assets/13301024/efb123f6-ded6-4ad9-8b8f-e67364c13b0c)
    ![Screenshot 2024-06-13 at 12 22
    07](https://github.com/MetaMask/metamask-extension/assets/13301024/132a8454-b0f8-40b8-b15d-fe638f13d11b)
    ![Screenshot 2024-06-13 at 12 21
    56](https://github.com/MetaMask/metamask-extension/assets/13301024/242c4c43-3ee4-46cd-a571-60d6409febd0)
    ![Screenshot 2024-06-13 at 12 21
    34](https://github.com/MetaMask/metamask-extension/assets/13301024/b53cabe7-7132-4568-ae6b-6d68e726936c)
    ![Screenshot 2024-06-13 at 12 21
    20](https://github.com/MetaMask/metamask-extension/assets/13301024/e4329a15-0da9-455a-967c-0203c0360e0f)
    
    
    ## **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.
    david0xd authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    de89667 View commit details
    Browse the repository at this point in the history
  5. fix: problem with origins in the Snaps permission UI (#26422)

    ## **Description**
    Displaying website URLs for origins in Snaps permissions UI is
    problematic and can cause UI to break.
    This PR introduces usage of `line-break: anywhere` for the origins.
    Full width is also added to the permissions list, to stretch the box
    that is holding permission cells, this helps in cases with less content
    that doesn't push all elements to the full width (e.g. info icon).
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26422?quickstart=1)
    
    ## **Related issues**
    Fixes: #26421
    
    ## **Manual testing steps**
    1. Try installing
    https://snaps.metamask.io/snap/npm/silencelaboratories/silent-shard-snap/
    or https://snaps.metamask.io/snap/npm/safeheron/mpcsnap/
    2. Check that UI is not broken like before
    
    ## **Screenshots/Recordings**
    ### **Before**
    
    ![image](https://github.com/user-attachments/assets/e60eca86-9ad1-4c7b-8d30-13561fdabec1)
    
    ![image](https://github.com/user-attachments/assets/b5e46dd9-5816-4e2e-aaca-53ea2ac8beca)
    
    ### **After**
    ![Screenshot 2024-08-14 at 16 17
    59](https://github.com/user-attachments/assets/2d27500b-5495-4b60-83d8-ceabd6641529)
    ![Screenshot 2024-08-14 at 16 18
    21](https://github.com/user-attachments/assets/b61fd831-c0c8-4956-afcc-6b6796985f02)
    
    ## **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 15, 2024
    Configuration menu
    Copy the full SHA
    517cbc4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d5592f2 View commit details
    Browse the repository at this point in the history
  7. fix: Codespaces corepack enable (#25161)

    - #24930 broke Codespaces, this fixes it by adding `corepack enable`
    - Had to use `yes | yarn --immutable` because it asks `Corepack is about
    to download... Do you want to continue? [Y/n]`
    - Updated two `"yarn": "^4.0.2"` to `"yarn": "^4.2.2"`
    - Properly deal with a 'Not Found' error in `yarn download-builds`
    - disabled `git.autofetch`, as it was probably causing the `fatal:
    Cannot rebase onto multiple branches`
    
    ---------
    
    Co-authored-by: legobeat <[email protected]>
    HowardBraham and legobeat authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    1101474 View commit details
    Browse the repository at this point in the history
  8. fix: Improve AccountListMenu/Item performance (#26379)

    <!--
    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**
    1. What is the reason for the change?
    - reduce unnecessary re renders of the AccountsListMenu and
    AccountsListItem component
    - reduce tech debt
    - adopt better patterns like memoizing callbacks, lifting state to
    parent components and memoizing smaller components
    2. What is the improvement/solution?
    - memoize AccountsListItem
    - remove `getSelectedInternalAccount` form AccountsListItem since this
    component already has a prop called `selected` that uses the same logic.
    Lifting this state to the parent means that the `AccountsListItem` will
    not need to re render. Also a change in the `getSelectedInternalAccount`
    would trigger a re render of all its parents which is unnecessary.
    - This prop is now required to make up for the fact that we don't have
    the state anymore
    - memoize callbacks in the AccountListMenu
    
    - _**This PR has minor changes and should not effect any user flows. It
    does not require QA before merging**_
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26379?quickstart=1)
    
    ## **Related issues**
    
    Fixes: MetaMask/accounts-planning#512
    
    ## **Manual testing steps**
    - import / create a wallet
    - create as many accounts as you can
    - each time you create an account, the new account should be selected
    - open the account menu and select a new account, the account should
    become globally selected
    - select an account, click the three dots beside it, go to account
    details, click on view private key, put password, the private key should
    be displayed
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    
    
    ### **After**
    
    
    
    https://github.com/user-attachments/assets/9e57fd80-88d1-4708-95e2-303e19106bed
    
    
    
    ## **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.
    owencraston authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    df95e54 View commit details
    Browse the repository at this point in the history
  9. chore: Bump Snaps packages (#26086)

    ## **Description**
    
    This bumps all Snaps packages to the latest versions and handles
    breaking changes. It also introduces some new components and RPC
    methods.
    
    Summary of changes in the snaps deps:
    - Add new `snap_dialog` confirmation type that uses fully custom UI
    - Add `Container` and `Footer` component
    - Add `RadioGroup` component
    - Add `Card` component
    - Add `snap_getPreferences` to return user preferences
    - Add `snap_resolveInterface` to resolve existing interfaces
    - Handle initial connections for preinstalled Snaps
    - Enforce stricter size limits for source code, static auxiliary files,
    and `snap_getFile` return values
    - Account for revoked origins when calculating the difference in
    `initialConnections`
    
    
    Closes MetaMask/MetaMask-planning#1571
    Closes MetaMask/MetaMask-planning#2125
    Closes MetaMask/snaps#2622
    Closes MetaMask/MetaMask-planning#1956
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26086?quickstart=1)
    
    ---------
    
    Co-authored-by: Frederik Bolding <[email protected]>
    Co-authored-by: David Drazic <[email protected]>
    Co-authored-by: Guillaume Roux <[email protected]>
    4 people authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    f461e37 View commit details
    Browse the repository at this point in the history
  10. Merge pull request #26395 from MetaMask/master-sync

    chore: Master sync
    danjm authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    54b3237 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Configuration menu
    Copy the full SHA
    3e1094a View commit details
    Browse the repository at this point in the history
  2. Version v12.3.0

    metamaskbot committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    472fb12 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Lint fix

    danjm committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    06c25bb View commit details
    Browse the repository at this point in the history
  2. Fix unit tests

    danjm committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    84e5bb2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0600006 View commit details
    Browse the repository at this point in the history
  4. Update LavaMoat policies

    metamaskbot committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    8c1d844 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Configuration menu
    Copy the full SHA
    15841b4 View commit details
    Browse the repository at this point in the history
  2. temp

    danjm committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    0372aa7 View commit details
    Browse the repository at this point in the history
  3. fix: Ignore yarn audit warning for GHSA-9wv6-86v2-598j (#27024)

    ## **Description**
    
    This addresses the following `yarn audit` failure:
    
    ```
    └─ path-to-regexp
       ├─ ID: 1099496
       ├─ Issue: path-to-regexp outputs backtracking regular expressions
       ├─ URL: GHSA-9wv6-86v2-598j
       ├─ Severity: high
       ├─ Vulnerable Versions: >=0.2.0 <8.0.0
       │ 
       ├─ Tree Versions
       │  └─ 1.7.0
       │ 
       └─ Dependents
          └─ react-router@npm:5.1.2 [12b72]
    ```
    
    path-to-Regexp is used in two files within react-router v5.1.2:
    `generatePath.js` and `matchPath.js`. In both cases, `path` and
    `options` variables are passed to a `compilePath` function. Those are
    then passed to `pathtoRegexp`. The variables passed to `pathtoRegexp`
    are dependent on props or parameters passed to react-router components
    and/or methods explictly from the metamask code. So this vulnerability
    cannot be exploited by an external actor.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27024?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.
    danjm committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    c2b3dbc View commit details
    Browse the repository at this point in the history
  4. fix: Add a second id to ignore for the GHSA-9wv6-86v2-598j (#27041)

    ## **Description**
    
    Follow up to #27024.
    Since that was merged, an update was made to
    #27024, and so the
    yarn audit warning now has a new id, which we need to include in the
    `npmAuditIgnoreAdvisories` config.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27041?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.
    danjm committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    856f1f9 View commit details
    Browse the repository at this point in the history
  5. fix: Update id for ignoring path-to-regexp advisory (#27044)

    ## **Description**
    
    Follow up to #27024
    and #27041
    
    The id has changed again, so we are going to try updating one more time.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27044?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.
    danjm committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    e0deec9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4461ab5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f22fc70 View commit details
    Browse the repository at this point in the history
  8. test(btc): mock ramps endpoints (#26941)

    Follow-up of:
    - #26929
    
    The previous PR did unblock the CI quickly but relying on a external
    network call might still have side-effects, thus it's preferable to hook
    all network calls.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26941?quickstart=1)
    
    Relates to:
    - #26929
    
    1. `yarn build:test:flask`
    2. `yarn test:e2e:single
    test/e2e/flask/btc/btc-account-overview.spec.ts`
    
    - [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.
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that 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 and danjm committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    439f7d6 View commit details
    Browse the repository at this point in the history
  9. Merge pull request #26974 from MetaMask/v12.3.0-fixed

    V12.3.0 fixed
    danjm authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    34cf07d View commit details
    Browse the repository at this point in the history
  10. Temporary patch to changelog to get v12.3.0 RC build passing (#27075)

    Temporary patch to changelog to get v12.3.0 RC build passing
    danjm authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    fc9b12a View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. feat(migration): enable token auto-detection when basic functionality…

    … is on (#27110)
    
    Cherry picks #26406
    to 12.3.0
    
    Co-authored-by: sahar-fehri <[email protected]>
    bergeron and sahar-fehri authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    6d3a56a View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. fix(cherry-pick): resolve path-to-regexp to v1.9.0 to resolve GHSA-9w…

    …v6-86v2-598j (#27113) (#27159)
    
    ## **Description**
    
    This permanently fixes GHSA-9wv6-86v2-598j
    by resolving that package to a recently released version that does not
    having breaking changes and where the security vulnerability is
    resolved.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27159?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    - GHSA-9wv6-86v2-598j
    
    ## **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.
    
    Co-authored-by: Dan J Miller <[email protected]>
    Co-authored-by: MetaMask Bot <[email protected]>
    3 people authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    88b8ef1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dac872f View commit details
    Browse the repository at this point in the history
  3. fix (cherry-pick): typo (#27010) (#27029)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    This PR fixes a typo for two properties that were updated in a recent
    change to the Segment schema.
    
    [![Open in GitHub
    
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27010?quickstart=1)
    
    ## **Related issues**
    
    [Fixes:](Consensys/segment-schema#211)
    
    ## **Manual testing steps**
    
    N/A
    
    ## **Screenshots/Recordings**
    
    N/A
    
    ### **Before**
    
    N/A
    
    ### **After**
    
    N/A
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    
    
    <!--
    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/27029?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.
    matteoscurati authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    edf7501 View commit details
    Browse the repository at this point in the history
  4. fix: (cherry-pick) check if the notifications started flow is running (

    …#27038) (#27056)
    
    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    This PR adds a check to the modal for enabling notifications. If the
    enabling process is in progress, closing the modal does not trigger the
    “dismissed” event.
    
    [![Open in GitHub
    
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27038?quickstart=1)
    
    ## **Related issues**
    
    N/A
    
    ## **Manual testing steps**
    
    N/A
    
    ## **Screenshots/Recordings**
    
    N/A
    
    ### **Before**
    
    N/A
    
    ### **After**
    
    N/A
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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).
    - [ ] I confirm that 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 Sep 16, 2024
    Configuration menu
    Copy the full SHA
    bcd40f6 View commit details
    Browse the repository at this point in the history
  5. fix (cherry-pick): Don't show AccountListMenu back button by default (#…

    …27152)
    
    ## **Description**
    
    A recent change
    (#26271) made it such
    that the "<" (back button) in the `AccountListMenu` component always
    shows. We do *not* want this when the `AccountListMenu` first opens, so
    this PR ensures that.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26940?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    1. Open the `AccountListMenu`
    2. Don't see the `<`
    3. Click the "Add account" button
    4. See the `<`
    5. Click the `<`, go back to main menu
    
    ## **Screenshots/Recordings**
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    ### **Before**
    
    <img width="891" alt="SCR-20240904-pens"
    src="https://github.com/user-attachments/assets/ee4b9cdc-503d-4d97-99a0-f7045ba1d503">
    
    
    ### **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.
    darkwing authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    02de2ab View commit details
    Browse the repository at this point in the history
  6. fix: cherry-pick V12.3.0 fix: PermitTransferFrom or PermitBatchTransf…

    …erFrom crashes MM when value for Name address has not been loaded (#27168)
    
    ## **Description**
    
    cherry-picks #26791
    into V12.3.0
    
    no conflicts
    <!--
    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/27168?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26593
    
    ## **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.
    digiwand authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    ad728f7 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. Configuration menu
    Copy the full SHA
    04d6bd2 View commit details
    Browse the repository at this point in the history
  2. fix: Allow to re-submit a cancelled swap if cancelled via a HW wallet (

    …#27210)
    
    ## **Description**
    This PR is a partial cherry pick of [this
    one](#26251) and
    fixes an edge case for [this
    PR](#25742), where
    when a swap was cancelled on a HW device, the submit button for swaps
    was disabled. Now a user can resubmit cancelled swaps repeatedly.
    
    It was already fixed
    [here](#26251) about
    a month ago, but it's not in the v12.3.0 release. That's why this
    partial cherry-pick is needed.
    
    ## **Manual testing steps**
    
    1. Go to Swaps with a HW wallet on Ethereum Mainnet and Smart
    Transactions enabled in Advanced Settings
    2. Submit a swap, but cancel it on a HW device
    3. You should see the quote overview page again and the `Swap` button
    should be enabled
    
    ## **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.
    dan437 authored Sep 17, 2024
    Configuration menu
    Copy the full SHA
    2d660df View commit details
    Browse the repository at this point in the history
  3. STX Timer bug cherrypick 12.3 (#26935)

    <!--
    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. It is a cherrypick of
    #25779 into v12.3.
    
    [![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
    - [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.
    
    Co-authored-by: infiniteflower <[email protected]>
    martahj and infiniteflower authored Sep 17, 2024
    Configuration menu
    Copy the full SHA
    0713e46 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. fix: [cherrypick][V12.3.0] patch profile-sync-controller storage entr…

    …y path hash (#27219)
    
    ## **Description**
    
    Patches the underlying `@metamask/profile-sync-controller` to use the
    original storage key path for notifications.
    
    This was merged in develop here
    #27224
    
    This fixes a critical issue where we were not using the same UserStorage
    hashed entry. See release library changelog
    
    https://github.com/MetaMask/core/blob/main/packages/profile-sync-controller/CHANGELOG.md#fixed
    
    <!--
    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/27219?quickstart=1)
    
    ## **Related issues**
    
    Fixes:
    
    ## **Manual testing steps**
    
    Test notifications flow, are notifications still working
    
    ## **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.
    Prithpal-Sooriya authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    63cf08b View commit details
    Browse the repository at this point in the history
  2. fix(cherry-pick): Adding "cookie id" to metrics event (#26697) (#27227)

    Cherry picking #26697 to V12.3.0
    
    #26697 sets up a stream communication with the label
    'metamask-cookie-handler'. The data sent from the page will be
    intercepted at the content-script and forwarded to the extension. The
    'ga_client_id' sent from the page is saved as
    `marketingCampaignCookieId` in the metaMetricsController state and
    fetched when building the context for each event.
    <!--
    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/27227?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.
    NiranjanaBinoy authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    3373b9a View commit details
    Browse the repository at this point in the history
  3. fix: Estimated fee in redesigned screens (#27250)

    cherry-pick: (#27247)
    
    <!--
    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.
    -->
    
    `maxFeePerGas`, `maxPriorityFeePerGas` and `estimatedBaseFee` are
    decimal values that should be converted before being used inside
    `multiplyHexes` and `addHexes`. `estimatedBaseFee` also needs to be
    converted to wei.
    
    <!--
    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/27247?quickstart=1)
    
    Fixes:
    
    1. Go to this page... 2.
    3.
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    <img width="320" alt="Screenshot 2024-09-18 at 13 40 13"
    src="https://github.com/user-attachments/assets/cf06ac39-6ab7-46c9-af84-951efbb37fd1">
    
    <img width="320" alt="Screenshot 2024-09-18 at 13 39 49"
    src="https://github.com/user-attachments/assets/15c8ff6b-6277-4f7f-b290-68adb21d845a">
    
    <img width="320" alt="Screenshot 2024-09-18 at 13 37 13"
    src="https://github.com/user-attachments/assets/6d4e3500-972e-4196-8041-8a16436daaf7">
    
    - [ ] 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.
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    
    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    <!--
    Write a short description of the changes included in this pull request,
    also include relevant motivation and context. Have in mind the following
    questions:
    1. What is the reason for the change?
    2. What is the improvement/solution?
    -->
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27250?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 Sep 18, 2024
    Configuration menu
    Copy the full SHA
    29094e0 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. fix (cherry-pick): custom tracing in production builds (#27124) (#27265)

    Cherry pick of #27124 for version 12.3.0.
    matthewwalsh0 authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    5e6d703 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. fix: [cherrypick][V12.3.0] PermitSingle, PermitBatch, PermitTransferF…

    …rom, PermitBatchTransferFrom simulation "Spending cap" (#27300)
    
    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    Cherry-picks #26684
    into V12.3.0
    
    resolved conflicts:
    - permit-simulation (does not have static simulation yet)
    - tests + snaps (12.3.0 does not have useConfirmContext yet)
    <!--
    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/27300?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #26591
    (PermitSingle)
    Fixes: #26592
    (PermitBatch)
    
    ## **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.
    digiwand authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    3fde91a View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. cherry-pick: feat: Add experimental settings toggle for transactions …

    …redesign (#26… (#27166)
    
    …010)
    
    Cherry-pick PR #26010
    into Version-v12.3.0
    
    <!--
    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/27166?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 Sep 23, 2024
    Configuration menu
    Copy the full SHA
    4c4b5c7 View commit details
    Browse the repository at this point in the history
  2. fix: [cherrypick][V12.3.0] Redesign Signature Message date values (#2…

    …7305)
    
    ## **Description**
    
    Cherry-pick #27249
    for v12.3.0
    
    Fix date values:
    - Formerly, conversations were converting values as if they were
    milliseconds. However, these values come from Solidity where these
    timestamps are unix timestamps in seconds.
    - Support -1 (no expiration) value
    - Display "expiry" as a date instead of a unix timestamp
    
    This PR fixes the conversion.
    
    [![Open in GitHub
    
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27249?quickstart=1)
    
    Fixes: #27137
    
    1. Go to test-dapp
    2. Request Permit or another TypedSign request
    3. Observe deadlines and dates
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    <img width="320"
    
    src="https://github.com/user-attachments/assets/855fc4a5-5a1b-4575-bfda-40b5b6688fe3">
    
    <img width="320"
    
    src="https://github.com/user-attachments/assets/0bc90b15-daa7-4537-9cd1-8727000899b2">
    
    <img width="320"
    
    src="https://github.com/user-attachments/assets/e1beb4f9-2b41-4ef9-8190-8264d88c9ab0">
    
    <img width="320"
    
    src="https://github.com/user-attachments/assets/edb4d259-29a3-4558-8858-e5b619c0ce18">
    
    - [ ] 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.
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that 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 Sep 23, 2024
    Configuration menu
    Copy the full SHA
    e5a2159 View commit details
    Browse the repository at this point in the history
  3. fix: cherry pick ledger confirm button fix into 12.3.0 (#27342)

    <!--
    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 cherry-picks
    #27331
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27342?quickstart=1)
    
    ## **Related issues**
    
    #27331
    
    ## **Manual testing steps**
    
    Tested and approved by QA in original PR
    
    ## **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.
    OGPoyraz authored Sep 23, 2024
    Configuration menu
    Copy the full SHA
    080fd23 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. fix: cherry pick disable the confirm button when there is a blocking …

    …alert fix into 12.3.0 (#27354)
    
    <!--
    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 cherry-picks
    #27347
    <!--
    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/27354?quickstart=1)
    
    ## **Related issues**
    
    Fixes: #27147
    
    ## **Manual testing steps**
    
    Tested and approved by QA in original PR
    
    ## **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.
    vinistevam authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    24b5e1e View commit details
    Browse the repository at this point in the history
  2. cherry-pick: Update package @blockaid/ppom_release to version 1.5.3 (#…

    …27372)
    
    ## **Description**
    
    Update package @blockaid/ppom_release to version 1.5.3
    
    ## **Related issues**
    
    Fixes: MetaMask/MetaMask-planning#3274
    
    ## **Manual testing steps**
    NA
    
    ## **Screenshots/Recordings**
    NA
    
    ## **Pre-merge author checklist**
    
    - [X] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    
    ## **Pre-merge reviewer checklist**
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    jpuri authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    66da9c3 View commit details
    Browse the repository at this point in the history
  3. fix: Don't show third party notice for preinstalled Snaps (#27365)

    This cherry-picks commit 5cc14af into release 12.3.0.
    
    [![Open in GitHub
    
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27319?quickstart=1)
    
    ## **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.
    Mrtenz authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    24f9828 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2024

  1. fix (cherry-pick): incorrect method name parsed from transaction data (

    …#27363) (#27379)
    
    ## **Description**
    
    Cherry pick of #27363 for version 12.3.0.
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27379?quickstart=1)
    
    ## **Related issues**
    
    ## **Manual testing steps**
    
    ## **Screenshots/Recordings**
    
    ### **Before**
    
    ### **After**
    
    ## **Pre-merge author checklist**
    
    - [x] I've followed [MetaMask Contributor
    Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
    Extension Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/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.
    matthewwalsh0 authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    1c3f435 View commit details
    Browse the repository at this point in the history
  2. cherry-pick: remove methods from array used to determine which reques…

    …ts should be enqueued because they can be safely passed through (#27315) (#27373)
    
    Fix issues that arise when a STX is initated in a dapp and subsequent
    method calls were being unnecessarily queued until the STX was complete.
    
    The following methods can be safely removed from the list of methods we
    use to determine whether a request should be queued or executed
    immediately:
    - 'wallet_addEthereumChain'
    - 'wallet_requestPermissions',
    - 'wallet_requestSnaps',
    - 'eth_decrypt',
    - 'eth_requestAccounts',
    - 'eth_getEncryptionPublicKey',
    
    [![Open in GitHub
    
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27315?quickstart=1)
    
    Fixes: #27098
    
    1. Make sure you have STX enabled from settings
    2. Navigate to
    https://docs.metamask.io/wallet/reference/eth_sendtransaction/
    3. Connect the wallet and switch networks to Sepolia
    4. Trigger a TX (call run request)
    5. Confirm the transaction and see the STX pending screen
    6. Go to test dapp
    7. Click Connect --> this needs to happen while STX is pending
    8. See that you are able to connect
    
    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->
    
    
    https://github.com/user-attachments/assets/10be9a20-a22e-4be4-83f6-2bb66ad7a7fa
    
    `wallet_requestPermissions`:
    
    
    https://github.com/user-attachments/assets/a8ee940c-8d56-4107-8cb1-3683fd244cad
    
    `wallet_requestSnaps`
    
    
    https://github.com/user-attachments/assets/b4a57a14-8877-4081-82f6-99f2edc9e837
    
    `eth_requestAccounts`
    
    
    https://github.com/user-attachments/assets/91958cc5-a006-43a4-b4db-37e4b22f07d1
    
    `wallet_addEthereumChain`
    
    
    https://github.com/user-attachments/assets/23265cf1-3cfb-4e9c-9ea2-599d449d291e
    
    - [ ] 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.
    
    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.
    
    
    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->
    
    ## **Description**
    
    <!--
    Write a short description of the changes included in this pull request,
    also include relevant motivation and context. Have in mind the following
    questions:
    1. What is the reason for the change?
    2. What is the improvement/solution?
    -->
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27373?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.
    adonesky1 authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    d0fb050 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b17fc84 View commit details
    Browse the repository at this point in the history
  4. Fix changelog lint error

    danjm committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    eca8bdb View commit details
    Browse the repository at this point in the history
  5. Merge pull request #27392 from MetaMask/v12.3.0-merge-master

    Merge master into v12.3.0
    danjm authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    f288384 View commit details
    Browse the repository at this point in the history
  6. Update v12.3.0 Changelog (#27274)

    ## **Description**
    
    Adding changelog for v12.3.0 RC. 
    
    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27274?quickstart=1)
    
    ---------
    
    Co-authored-by: Dan J Miller <[email protected]>
    benjisclowder and danjm authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    318aaad View commit details
    Browse the repository at this point in the history