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

[Bug]: Multichain - "Disconnect" menu item from popup Connections page causes error #23790

Closed
darkwing opened this issue Mar 28, 2024 · 1 comment · Fixed by #23935
Closed
Assignees
Labels
amon-hen-v1 Represents blocking issues for the release of Amon Hen regression-develop Regression bug that was found on development branch, but not yet present in production release-11.16.0 Issue or pull request that will be included in release 11.16.0 Sev2-normal Normal severity; minor loss of service or inconvenience. team-wallet-ux type-bug

Comments

@darkwing
Copy link
Contributor

darkwing commented Mar 28, 2024

Describe the bug

When using the three-dot menu next to an account in the Connections popup view, then clicking "Disconnect", I get an error that bricks the extension.

Expected behavior

The account should be disconnected without problem.

Screenshots/Recordings

Screen.Recording.2024-03-28.at.2.17.59.PM.mov

Steps to reproduce

  1. Go to any dapp
  2. Open the extension, click the Connections favicon
  3. Click "Connect accounts"
  4. Connect Account 1
  5. Click the three-dot menu next to Account 1
  6. Click the "Disconnect" menu item
  7. (See the error)

Error messages or log output

TypeError: Cannot read properties of undefined (reading 'name')
  at Connections (connections.tsx:350:53)
  at renderWithHooks (react-dom.development.js:16260:1)
  at updateFunctionComponent (react-dom.development.js:18347:1)
  at beginWork$1 (react-dom.development.js:20176:1)
  at HTMLUnknownElement.callCallback (react-dom.development.js:336:1)
  at Object.invokeGuardedCallbackDev (react-dom.development.js:385:1)
  at invokeGuardedCallback (react-dom.development.js:440:1)
  at beginWork$$1 (react-dom.development.js:25780:1)
  at performUnitOfWork (react-dom.development.js:24695:1)
  at workLoopSync (react-dom.development.js:24671:1) '\n  at Connections (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-6.js:14880:48)\n  at Route (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-3.js:17586:29)\n  at Authenticated (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-8.js:4644:5)\n  at ConnectFunction (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-3.js:12688:41)\n  at Switch (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-3.js:17792:29)\n  at div\n  at chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/common-6.js:4473:3\n  at div\n  at Routes (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-11.js:1463:5)\n  at ConnectFunction (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-3.js:12688:41)\n  at C (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-3.js:17847:37)\n  at LegacyI18nProvider (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-7.js:12455:1)\n  at I18nProvider (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-7.js:12438:53)\n  at LegacyMetaMetricsProvider (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-7.js:12633:1)\n  at MetaMetricsProvider (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-7.js:12543:3)\n  at Router (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-3.js:17217:30)\n  at HashRouter (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-3.js:15839:35)\n  at Provider (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-3.js:12397:20)\n  at Index (chrome-extension://oehplhbehlbgjdapfkoemdgjlgbjpkkg/ui-10.js:7636:5)'

Oddly enough, above it I'm seeing a few more errors that look related:

Warning: Failed prop type: The prop `requestType` is marked as required in `PermissionConnect`, but its value is `undefined`.
    in PermissionConnect (created by ConnectFunction)
    in ConnectFunction (created by Context.Consumer)
    in Route (created by Authenticated)
    in Authenticated (created by ConnectFunction)
    in ConnectFunction (created by Routes)
    in Switch (created by Routes)
    in div (created by ForwardRef)
    in ForwardRef (created by Routes)
    in div (created by Routes)
    in Routes (created by ConnectFunction)
    in ConnectFunction (created by Context.Consumer)
    in withRouter(Connect(Routes)) (created by Index)
    in LegacyI18nProvider (created by Index)
    in I18nProvider (created by Index)
    in LegacyMetaMetricsProvider (created by Index)
    in MetaMetricsProvider (created by Index)
    in Router (created by HashRouter)
    in HashRouter (created by Index)
    in Provider (created by Index)
    in Index
overrideMethod @ backend.js:2045
await in overrideMethod (async)
(anonymous) @ actions.ts:3710
handleResponse @ metaRPCClientFactory.js:99
emit @ events.js:153
addChunk @ _stream_readable.js:291
readableAddChunk @ _stream_readable.js:278
Readable.push @ _stream_readable.js:245
_write @ index.js:68
doWrite @ _stream_writable.js:428
writeOrBuffer @ _stream_writable.js:417
Writable.write @ _stream_writable.js:334
ondata @ readable.js:662
emit @ events.js:153
addChunk @ readable.js:278
readableAddChunk @ readable.js:255
Readable.push @ readable.js:201
_onMessage @ index.js:30
(anonymous) @ index.js:12
Show 16 more frames
Show less
actions.ts:3710 Warning: Failed prop type: The prop `subjectMetadata.name` is marked as required in `PermissionsRedirect`, but its value is `undefined`.
    in PermissionsRedirect (created by PermissionConnect)
    in PermissionConnect (created by ConnectFunction)
    in ConnectFunction (created by Context.Consumer)
    in Route (created by Authenticated)
    in Authenticated (created by ConnectFunction)
    in ConnectFunction (created by Routes)
    in Switch (created by Routes)
    in div (created by ForwardRef)
    in ForwardRef (created by Routes)
    in div (created by Routes)
    in Routes (created by ConnectFunction)
    in ConnectFunction (created by Context.Consumer)
    in withRouter(Connect(Routes)) (created by Index)
    in LegacyI18nProvider (created by Index)
    in I18nProvider (created by Index)
    in LegacyMetaMetricsProvider (created by Index)
    in MetaMetricsProvider (created by Index)
    in Router (created by HashRouter)
    in HashRouter (created by Index)
    in Provider (created by Index)
    in Index
overrideMethod @ backend.js:2045
await in overrideMethod (async)
(anonymous) @ actions.ts:3710
handleResponse @ metaRPCClientFactory.js:99
emit @ events.js:153
addChunk @ _stream_readable.js:291
readableAddChunk @ _stream_readable.js:278
Readable.push @ _stream_readable.js:245
_write @ index.js:68
doWrite @ _stream_writable.js:428
writeOrBuffer @ _stream_writable.js:417
Writable.write @ _stream_writable.js:334
ondata @ readable.js:662
emit @ events.js:153
addChunk @ readable.js:278
readableAddChunk @ readable.js:255
Readable.push @ readable.js:201
_onMessage @ index.js:30
(anonymous) @ index.js:12
Show 16 more frames
Show less
backend.js:16254 WebSocket connection to 'ws://localhost:8097/' failed: 
connectToDevTools @ backend.js:16254
Show 1 more frame
Show less
2backend.js:2045 Error: Actions must be plain objects. Use custom middleware for async actions.
  at Object.performAction (instrument.ts:143:13)
  at liftAction (instrument.ts:376:25)
  at dispatch (instrument.ts:901:26)
  at index.js:27:1
  at redux-toolkit.cjs.development.js:384:1
  at onClick (connections.tsx:391:30)
  at HTMLUnknownElement.callCallback (react-dom.development.js:336:1)
  at Object.invokeGuardedCallbackDev (react-dom.development.js:385:1)
  at invokeGuardedCallback (react-dom.development.js:440:1)
  at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:454:1)


### Version

develop

### Build type

None

### Browser

Chrome

### Operating system

MacOS

### Hardware wallet

_No response_

### Additional context

_No response_

### Severity

_No response_
@darkwing darkwing added type-bug amon-hen-v1 Represents blocking issues for the release of Amon Hen team-wallet-ux labels Mar 28, 2024
@darkwing
Copy link
Contributor Author

darkwing commented Mar 28, 2024

After closing the popup, and re-opening it, then opening the Connections favicon again, the account is disconnected.

@NidhiKJha NidhiKJha self-assigned this Apr 10, 2024
@gauthierpetetin gauthierpetetin added the Sev2-normal Normal severity; minor loss of service or inconvenience. label Apr 12, 2024
NidhiKJha added a commit that referenced this issue Apr 15, 2024
…#23935)

This PR ensures that when a single account is disconnected from the Dapp
via connections. It shouldn't break the page and disconnects smoothle


## **Related issues**

Fixes: #23790

## **Manual testing steps**

1. Run extension with Multichain flag
2. Connect a single account to uniswap
3. Go to connections page, click on disconnect account.
4. It should disconnect the account

## **Screenshots/Recordings**


### **Before**





https://github.com/MetaMask/metamask-extension/assets/39872794/f4356be1-e6b8-4319-b2a0-be5439173fbe


### **After**

https://github.com/MetaMask/metamask-extension/assets/39872794/779ababe-d6a2-4f9a-aca8-d09284dd4aee



## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
@metamaskbot metamaskbot added the release-11.16.0 Issue or pull request that will be included in release 11.16.0 label Apr 15, 2024
jiexi added a commit that referenced this issue Apr 17, 2024
commit a8d0d2fceda6a9b1e8a5622ccc039a6b61e83fcf
Author: Jiexi Luan <jiexiluan@gmail.com>
Date:   Tue Apr 16 15:22:46 2024 -0700

    lint

commit aad0283bf96deb416be4c30394e1f4ef7c9fe735
Author: Jiexi Luan <jiexiluan@gmail.com>
Date:   Tue Apr 16 15:20:12 2024 -0700

    fix confirm-transaction spec

commit 055e3cc35bca59d493fa5855616ec88edd6a7142
Author: Jiexi Luan <jiexiluan@gmail.com>
Date:   Tue Apr 16 14:54:00 2024 -0700

    Remove legacy start stop gas fee polling in MMC

commit 2aed56f4f02658fb426fbc10ca1fdabdb4e1e972
Author: Jiexi Luan <jiexiluan@gmail.com>
Date:   Tue Apr 16 14:48:32 2024 -0700

    lint

commit 12a741e94305ea4e5678e8be1290832feb3dc0c8
Author: Jiexi Luan <jiexiluan@gmail.com>
Date:   Tue Apr 16 14:47:50 2024 -0700

    fix specs

commit 3a2841059c479e84743dda12d6effcf11201b085
Merge: fc7fdbb3f5 670f2e1e8c
Author: Jiexi Luan <jiexiluan@gmail.com>
Date:   Tue Apr 16 14:44:45 2024 -0700

    Merge branch 'develop' into jl/fix-remaining-gas-fee-polling

commit fc7fdbb3f5ea7953e737d99a4c69432558ff05c4
Author: Jiexi Luan <jiexiluan@gmail.com>
Date:   Tue Apr 16 14:44:38 2024 -0700

    naively update specs

commit c162d36829dbd88fa29c2271467d1cfd8b96357a
Author: Jiexi Luan <jiexiluan@gmail.com>
Date:   Tue Apr 16 14:44:31 2024 -0700

    replace remaining legacy gas fee polling actions

commit 670f2e1e8cca5c59874643db81b2fc6331b65855
Author: David Murdoch <187813+davidmurdoch@users.noreply.github.com>
Date:   Tue Apr 16 17:11:21 2024 -0400

    ci(actions): update `amannn/action-semantic-pull-request` to v5.4.0 (#23819)

    Update `amannn/action-semantic-pull-request@v5.2.0` to v5.4.0 as v5.2.0
    is deprecated.

commit 62a8bd25d3db5d31d377a9b2c11fcd1acbb13393
Author: Frederik Bolding <frederik.bolding@gmail.com>
Date:   Tue Apr 16 22:56:32 2024 +0200

    chore: bump snaps packages (#23957)

    ## **Description**
    Bump snaps packages to latest and handle breaking changes.

    Summary of changes in the snaps deps:
    - Improve encryption performance by caching encryption keys
    - Remove access to `on` and `removeListener` on the `ethereum` object
    for Snaps
      - This functionality was already broken
    - Fixed a problem where unencrypted state would not be deleted when
    uninstalling a Snap
    - Allow form state to be null when triggering `onUserInput`
    - Fixed over-eager link validation being triggered on non-links
    - Add derivation path for Nimiq

commit e322bc8fea8061c1056f2011aea03e3068a2d059
Author: Brian Bergeron <brian.e.bergeron@gmail.com>
Date:   Tue Apr 16 11:14:16 2024 -0700

    fix: token rates controller start / stop logic (#24021)

    ## **Description**

    Problem: Users reporting missing fiat prices for some erc20 tokens, even
    when price setting is on:

    <img width="357" alt="Screenshot 2024-03-14 at 2 35 41 PM"
    src="https://github.com/MetaMask/metamask-extension/assets/3500406/711cfa40-7387-43df-9981-9ed52973b5b4">

    Diagnosis:

    (1) The `TokenRatesController` gets stopped when metamask is closed. But
    it is not started again when metamask re-opens, preventing any future
    token price updates.

    (2) If you have metamask installed but you never open/unlock it (within
    a browser session), the `TokenRatesController` is still polling in the
    background every 3 minutes.

    The fix for both is to start the controller in `triggerNetworkrequests`
    instead of on construction.

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24021?quickstart=1)

    ## **Related issues**

    Fixes:

    ## **Manual testing steps**

    1. Restore a wallet where multiple accounts have erc20 tokens
    2. Enable token autodetection
    4. Visit the first account with tokens, verify their prices
    5. Close metamask
    6. Re-open metamask
    7. Visit the second account
    8. Verify its tokens have prices

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    <!-- [screenshots/recordings] -->

    ### **After**

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit 257e9f9fce04ae4581215c1f756be40ce4e39113
Author: sahar-fehri <sahar.fehri@consensys.net>
Date:   Tue Apr 16 17:23:02 2024 +0200

    fix: deprecating more networks (#23695)

    ## **Description**

    Deprecates Mumbai and linea goerli test networks.
    Users should see a deprecation warning when switching to those networks.
    Linea goerli is removed from the default network list.

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23695?quickstart=1)

    ## **Related issues**

    ticket: https://consensyssoftware.atlassian.net/browse/MMASSETS-183
    patch for controller-utils:
    https://github.com/MetaMask/metamask-extension/pull/23727/files

    ## **Manual testing steps**

    1. Go to home page
    2. Click on network selector, You should not see Linea testnet in the
    list.
    3. Add Mumbai network to metamask
    4. You should see deprecation warning

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**
    Linea goerli appears in the list of default networks

    <img width="1798" alt="Screenshot 2024-03-26 at 16 17 41"
    src="https://github.com/MetaMask/metamask-extension/assets/10994169/d82e3cba-4c6b-4546-9612-9dabf0b32b5b">

    ### **After**
    In this video initially the user is on Linea goerli (i am on develop
    branch), the user makes a few transactions on linea goerli,
    then i switch to this branch so the migration runs, and notice that the
    user has switeched to linea-sepolia.
    Linea goerli is removed from the default networks tab.
    When the user adds linea-goerli using chainlist, he sees the deprecation
    warning and his transactions.

    https://github.com/MetaMask/metamask-extension/assets/10994169/3ffd6a63-6bb0-4ea3-85ab-c31b8317cfd6

    This short video shows the deprecation warning when we switch to Mumbai
    network

    https://github.com/MetaMask/metamask-extension/assets/10994169/496a9433-0547-4475-8320-39b1c5d01e2e

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit d40321c8af64def299705fa977a1677103c60900
Author: Frederik Bolding <frederik.bolding@gmail.com>
Date:   Tue Apr 16 17:02:15 2024 +0200

    fix: improve performance in account list and account connection components (#23933)

    ## **Description**

    Improves performance in the account list and "account connection"
    components by no longer leveraging `getAddressConnectedSubjectMap`. The
    selector in question is very computationally expensive to use and thus
    were causing performance problems for users with many accounts and many
    connected sites. This PR proposes using
    `getPermittedAccountsForCurrentTab` where possible and also introduces a
    memoized selector `isAccountConnectedToCurrentTab` that performantly can
    check for a given address.

    From local testing this seems to improve the experience.

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23933?quickstart=1)

    ## **Related issues**

    Fixes #23913

    ---------

    Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net>

commit 8c8f68f0e3d6194eafb072f912da7ff8b44e90e4
Author: Daniel <80175477+dan437@users.noreply.github.com>
Date:   Tue Apr 16 16:48:41 2024 +0200

    feat: Update UI / content for the Smart Transactions Opt In modal, renaming (#24053)

    ## **Description**
    This PR includes a few small updates:
    - Updates UI / content for the Smart Transactions Opt In modal
    - Renaming to `Smart Transactions`
    - Small refactoring

    ## **Related issues**

    Fixes:

    ## **Manual testing steps**
    1. Install the extension
    2. See the updated Smart Transactions Opt In Modal

    ## **Screenshots/Recordings**

    Smart Transactions Opt In Modal:

    ![image](https://github.com/MetaMask/metamask-extension/assets/80175477/ffa978b6-8cde-4cad-be70-1242b135b8f9)

    ### **Before**

    <!-- [screenshots/recordings] -->

    ### **After**

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit 6ed9d04069c61098e4766b4dc3ccd9105559f4c4
Author: António Regadas <apregadas@gmail.com>
Date:   Tue Apr 16 14:37:27 2024 +0100

    chore: MMI adds custodian icons (#23912)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->

    ## **Description**

    Adds custodian logo to the top bar, at the left of the address and also
    in the accounts list:

    ![Screenshot 2024-04-09 at 15 12
    26](https://github.com/MetaMask/metamask-extension/assets/1125631/c7edac43-ba34-41ca-935c-cbf37aedd1d6)
    ![Screenshot 2024-04-09 at 15 09
    26](https://github.com/MetaMask/metamask-extension/assets/1125631/5a65d301-8954-4b7b-a1ad-a2ab1cfca386)

    ## **Related issues**

    Fixes:

    ## **Manual testing steps**

    1. Go to this page...
    2.
    3.

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    <!-- [screenshots/recordings] -->

    ### **After**

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit d91e182971e59f6a1040073af1bc3d2dd68b531c
Author: Ariella Vu <20778143+digiwand@users.noreply.github.com>
Date:   Tue Apr 16 17:07:25 2024 +0400

    feat: create Developer Options Setting Page (#22382)

    ## **Description**

    The "Developer Options" setting page will provide developers with
    additional controls and customization to assist with development and
    testing. This feature will enable developers to reset app states easily,
    toggle certain features on/off, and update configurations without
    needing to reinstall the app, accelerating developer velocity.

    To enable, add `ENABLE_SETTINGS_PAGE_DEV_OPTIONS=true` in .metamaskrc

    Developer Options Supported:
    - Reset Announcements/Notifications for What's New modal
    - Reset Onboarding states and redirects to second onboarding page

    ## **Related issues**

    Fixes: https://github.com/MetaMask/metamask-extension/issues/23592
    Blocked By: https://github.com/MetaMask/core/pull/4088

    ## **Manual testing steps**

    1. `yarn install` to install the latest announcement-controller changes
    2. go to `.metamaskrc`
    3. paste `ENABLE_SETTINGS_PAGE_DEV_OPTIONS=true`
    4. `yarn start`

    Test using test-dapp
    1. open test-dapp
    2. test with PPOM buttons

    ---

    1. See
    chrome-extension://hbljfohiafgaaaabejngpgolnboohpaf/home.html#settings/developer-options

    ## **Screenshots/Recordings**

    #### New UI

    <img width="480" alt="Screenshot 2023-12-21 at 2 33 45 PM"
    src="https://github.com/MetaMask/metamask-extension/assets/20778143/6d6ebd6c-8564-4d4e-8dcf-d9197ad11e6b">

    ![Screenshot 2023-12-22 at 1 58
    28 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/cfec8e2e-5cf8-43ed-9096-af22901e4bd5)

    ![Screenshot 2023-12-22 at 1 59
    40 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/70a11c03-735c-4f98-93e4-d8532c5aaea4)

    #### Announcements

    ![Screenshot 2024-03-17 at 8 13
    41 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/be91edfa-ade3-4a37-b628-3c8c62b0d27c)

    #### Onboarding

    ![Screenshot 2024-03-17 at 8 13
    56 PM](https://github.com/MetaMask/metamask-extension/assets/20778143/ae36304a-db40-4a7a-bbf2-e979167ecf4c)

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've clearly explained what problem this PR is solving and how it
    is solved.
    - [ ] I've linked related issues
    - [ ] I've included manual testing steps
    - [ ] I've included screenshots/recordings if applicable
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    - [ ] I’ve properly set the pull request status:
      - [ ] In case it's not yet "ready for review", I've set it to "draft".
    - [ ] In case it's "ready for review", I've changed it from "draft" to
    "non-draft".

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit 37989504e1e001eb4501706aeac0a901c11f8633
Author: salimtb <salim.toubal@outlook.com>
Date:   Tue Apr 16 14:57:12 2024 +0200

    feat: add filecoin logo svg (#24039)

commit c1b2cbe2035cf09a1ffe9281f536a989b7ad7643
Author: Nidhi Kumari <nidhi.kumari@consensys.net>
Date:   Tue Apr 16 15:38:42 2024 +0530

    fix: fixed wallet view bugs for connections and permissions screen (#24023)

    This PR is to fix the UI bugs in the wallet, permissions and connections
    screen to keep it in sync with the Updated designs

    ## **Description**
    Following changes are updated:
    1. Description of the product tour for global menu [Note: This product
    tour will be removed]
    2. Remove Connected dApp shown on Account List Item
    3. Remove Connect account action in Select Account Modal

    ## **Related issues**

    Fixes: #23858

    ## **Manual testing steps**

    This PR solves Part of the linked issue, rest of them are already
    resolved via different other PRs, Linking them in the list:
    1. Description of the product tour for global menu - Modified in this PR
    2. Connected sites and All Permissions in Global menu -
    [23789](https://github.com/MetaMask/metamask-extension/pull/23789)
    3. Remove Connected dApp shown on Account List Item - Modified in this
    PR
    4. Connected Account Toast should only be displayed on Wallet screen -
    [23733](https://github.com/MetaMask/metamask-extension/pull/23733)
    5. Remove Connect account action in Select Account Modal - Modified in
    this PR
    6. Network switching within Extension - This isssue doesn't exist
    anymore.
    7. Button in Network switch Modal - Was related to Design System, fixed.

    ## **Screenshots/Recordings**

    ### **Before**

    Please refer to the issue
    ### **After**
    1. This Product tour will be removed in a separate PR
    2.  No dapp logo on account list item even when it's connected
    ![Screenshot 2024-04-16 at 3 02
    46 PM](https://github.com/MetaMask/metamask-extension/assets/39872794/01b443c4-cc84-43c2-84a9-da012935def5)
    3. No connect button in account list item menu

    ![Screenshot 2024-04-16 at 3 03
    23 PM](https://github.com/MetaMask/metamask-extension/assets/39872794/71b902af-00f7-4c09-9fa9-aefc37f7a3f1)

    ## **Pre-merge author checklist**
    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

    ---------

    Co-authored-by: David Walsh <davidwalsh83@gmail.com>

commit 01a4d60d5eb20a326c7fbe6401e66ca5e68298ff
Author: Nidhi Kumari <nidhi.kumari@consensys.net>
Date:   Tue Apr 16 14:13:04 2024 +0530

    fix: Updated selector for the test networks (#23986)

    This PR is to ensure that the permissions page renders list of all the
    permissions with the current networks. For a few networks, we don't have
    the rpcPrefs that was causing the siteKey nd the rpcPrefs to be
    undefined.
    This PR also makes sure that the defined background color is there for
    the test networks that doesn't have a logo

    ## **Related issues**

    Fixes: #23812 #23793

    ## **Manual testing steps**

    1. Connect an account on Uniswap
    2. Open the popup
    3. Open the three-dot menu and choose "All Permissions"
    4. It should render the permission with the accounts

    ## **Screenshots/Recordings**

    ### **Before**

    https://github.com/MetaMask/metamask-extension/assets/39872794/4fc1e04c-fde3-4905-a8b8-b16c75d9f7d1

    ### **After**

    https://github.com/MetaMask/metamask-extension/assets/39872794/c56a60cb-24e6-4857-ac29-2539bb0f6645

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit 8f3270fb6b8397bf3e1918696027a882577d9e9d
Author: Nidhi Kumari <nidhi.kumari@consensys.net>
Date:   Tue Apr 16 14:12:39 2024 +0530

    fix: updated connections page for connected data (#24022)

    In the previous logic, we were using activeTabOrigin to get the subject
    MetaData to get the connected Dapp MetaData but it seems like there is
    another bug because of which metaData is not being fetched correctly. As
    a result, we are not able to get the connected Dapp Logo and connected
    status properly. In this PR, we are relying on
    getPermittedAccountsForCurrentTab to get the connected status and if the
    connected dapp metaData is not defined, we will rely on global icon
    rather than connected dapp icon

    ## **Related issues**

    Fixes: #23792

    ## **Manual testing steps**

    1. Run extension with Multichain Flag and connect it to dapp
    2. If the dapp shows connected status, then the connection page should
    return the connected accounts
    3. Test it with multiple Dapps

    ## **Screenshots/Recordings**

    ### **Before**
    Refer to the issue

    ### **After**

    https://github.com/MetaMask/metamask-extension/assets/39872794/4536a206-a4de-45e4-88ca-cdbaf92478bb

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit f23f095fbfada56f294627164c3158917f7eb874
Author: legobeat <109787230+legobeat@users.noreply.github.com>
Date:   Tue Apr 16 11:39:32 2024 +0900

    ci: fix create-lavamoat-viz script (#22759)

commit be3c4f277d13ff038bb551bcfc4149642a003ee1
Author: David Murdoch <187813+davidmurdoch@users.noreply.github.com>
Date:   Mon Apr 15 16:10:32 2024 -0400

    build: remove `brfs` from build processes (#24000)

    The `brfs` package was used to transform calls to `fs.readFile*` into
    inlined files as strings during build/compilation. We no longer make use
    of `fs.readFile*` in our code, so the dependency is no longer required.
    While it doesn't cause issues to leave it, the package is slow as it
    must parse the contents into an AST and then statically analyze the tree
    looking for relevant calls to `fs.readFile*`. This overhead is unwanted,
    so I've removed it from our build process.

commit b1b8c081d8b684a88066bed56fe3d9d453e31bcd
Author: Alex Donesky <adonesky@gmail.com>
Date:   Mon Apr 15 15:05:45 2024 -0500

    fix: issue where provider engine needs to rerun after permissions are granted to ensure correct proxies are assigned (#23525)

    ## **Description**
    When the "Selected networks for each site" toggle is enabled, the wallet
    API should use an origin-specific chain for all interactions. However
    this doesn't work correctly if the connection status has changed since
    the last refresh. If you grant permissions to a site or revoke them
    (i.e. connect to or disconnect from a site), the site does not work as
    expected until after the site is refreshed.

    **Expected behavior**
    The wallet API should always use the dapp-selected chain for sites with
    permissions, and should use the globally-selected chain for sites
    without permissions. This should apply even if the permissions have
    changed since the page loaded.

    **Solution**

    This PR introduces [changes made to
    `@metamask/selected-network-controller`](https://github.com/MetaMask/core/blob/main/packages/selected-network-controller/CHANGELOG.md#changed)
    to resolve the issue described above:
    > Previously the SelectedNetworkController only constructed proxies for
    domains that had permissions. Other domains have no associated proxy and
    the getProviderAndBlockTracker method would throw an error. This was
    problematic because we grab the network client for an origin a single
    time when constructing an RPC pipeline for that origin in the MetaMask
    extension. We don't re-create the RPC pipeline when permissions change.
    That means that the pipeline is setup with the wrong network client and
    cannot be updated. The following changes ensure seamlessly proxying
    calls during sessions where a dapp connects/disconnects and provides a
    path for clients to prune inactive proxies.

    This domainProxyMap param now passed into `SelectedNetworkController`
    allows the client to handle pruning inactive proxies while the
    SelectedNetworkController handles adding entries - it can't handle
    removal, as it doesn't know which connections are active.

    The extension passes in an instance of a newly created `WeakStringMap`
    class which allows for garbage collection of its data once no longer
    referenced.

    ## **Related issues**

    Fixes: https://github.com/MetaMask/metamask-extension/issues/23509

    ## **Manual testing steps**

    The problem presented itself in two scenarios: when granting site
    permissions, and when revoking all site permissions.

    **When granting permissions:**
    - Enable the "Selected networks for each site" toggle
    - Open a site with no permissions in one tab, and the fullscreen wallet
    UI in another
    - If the site was open already, hard-refresh before proceeding
    - Call eth_requestAccounts on the site, asking for the eth_accounts
    permissions
    - Approve the request
    - Call eth_chainId from the site, and see that it matches the wallet
    selected chain
    - Switch the selected chain in the fullscreen UI
    - Call eth_chainId from the site, and see that it is still on the same
    chain the wallet was connected to before switching

    **When revoking permissions:**
    - Redo all the same steps for **When granting permissions:**
    - Open the browser-action popup, click on the three-vertical-dots menu,
    click "Connected sites", then disconnect from the site
    - Call eth_chainId from the site. See that the sites connected chain is
    now the same as the "globally selected chain" in the wallet

    ## **Screenshots/Recordings**

    ### **Before**

    This recording shows both reproduction use cases (granting permissions,
    then revoking)

    [queue-selected-chain-bug-2024-03-14_19.49.19.webm](https://github.com/MetaMask/metamask-extension/assets/2459287/092c0a9d-e734-4309-9455-d6444f7504ef)

    ### **After**

    https://github.com/MetaMask/metamask-extension/assets/34557516/62145d32-493b-41a2-ba8e-a1545ef1286a

    ## **Pre-merge author checklist**

    - [x] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [x] I've clearly explained what problem this PR is solving and how it
    is solved.
    - [x] I've linked related issues
    - [x] I've included manual testing steps
    - [x] I've included screenshots/recordings if applicable
    - [x]I’ve included tests if applicable
    - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [x] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    - [x] I’ve properly set the pull request status:
      - [ ] In case it's not yet "ready for review", I've set it to "draft".
    - [ ] In case it's "ready for review", I've changed it from "draft" to
    "non-draft".

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit 9c78339a247b4578150d07e93f05a62f900f7ba2
Author: David Murdoch <187813+davidmurdoch@users.noreply.github.com>
Date:   Mon Apr 15 12:04:12 2024 -0400

    ci: update `actions/checkout` to v4 (#23822)

    Update `actions/checkout@v2` to v3 as v2 is deprecated.

commit 100455948e944606f818a977f8096a7c20ca8247
Author: David Murdoch <187813+davidmurdoch@users.noreply.github.com>
Date:   Mon Apr 15 12:03:27 2024 -0400

    ci: update `github/codeql-action` to v3 (#23820)

    Update `github/codeql-action@v2` to v3 as v2 is deprecated.

commit 4dc299eef3b123178c8fa38722a875bc721edb6f
Author: Brian Bergeron <brian.e.bergeron@gmail.com>
Date:   Mon Apr 15 08:32:00 2024 -0700

    fix: checkmark icon missing after token import (#24005)

    ## **Description**

    After importing an erc20 token, the popup message was not rendering the
    checkmark icon.

    The icon is from font-awesome, and their CSS works fine. But when we add
    `@include design-system.H3`, it overrode the font-family, breaking the
    icon.

    Fixed by setting font size directly rather than bringing the whole H3.

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/24005?quickstart=1)

    ## **Related issues**

    ## **Manual testing steps**

    1. Import an erc20 token, either manually or via autodetection
    2. Verify the green popup message has a checkmark icon

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    <img width="349" alt="Screenshot 2024-04-12 at 10 58 57 AM"
    src="https://github.com/MetaMask/metamask-extension/assets/3500406/14878f22-b355-4eb5-97c6-feb317d8775f">

    ### **After**

    <img width="354" alt="Screenshot 2024-04-12 at 12 00 30 PM"
    src="https://github.com/MetaMask/metamask-extension/assets/3500406/8bca68da-645c-44a1-b754-4e529070ae50">

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit f8b92ab54f9fd79a17faf086661bf220153aa88f
Author: OGPoyraz <omergoktugpoyraz@gmail.com>
Date:   Mon Apr 15 14:52:13 2024 +0200

    feat: retrieve layer 1 gas fee from transaction controller (#23521)

commit 2cde24c7ed99f00450e19b4259e03f44c3a6a473
Author: Bowen Sanders <bowensanders@gmail.com>
Date:   Mon Apr 15 04:50:17 2024 -0700

    test: [Snaps E2E] Create E2E test for UI links (#22739)

    ## **Description**

    <!--
    Write a short description of the changes included in this pull request,
    also include relevant motivation and context. Have in mind the following
    questions:
    1. What is the reason for the change?
    2. What is the improvement/solution?
    -->
    Create E2E test for UI links
    ## **Related issues**

    Fixes: #22425

    ## **Manual testing steps**

    1. This is an automated E2E test

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    <!-- [screenshots/recordings] -->

    ### **After**

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [x] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [x] I've clearly explained what problem this PR is solving and how it
    is solved.
    - [x] I've linked related issues
    - [x] I've included manual testing steps
    - [ ] I've included screenshots/recordings if applicable
    - [x] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    - [ ] I’ve properly set the pull request status:
      - [ ] In case it's not yet "ready for review", I've set it to "draft".
    - [ ] In case it's "ready for review", I've changed it from "draft" to
    "non-draft".

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit 96d478a5d6ef7842d89ba9b72b8d319565fe28d1
Author: Hassan Malik <41640681+hmalik88@users.noreply.github.com>
Date:   Mon Apr 15 07:26:39 2024 -0400

    feat: Release Transaction Insights V2 & Signature Insights to stable (#23630)

commit 91d5d4edfcb4ccc8978ca98bbba4c3635999b0d7
Author: Bowen Sanders <bowensanders@gmail.com>
Date:   Mon Apr 15 02:45:07 2024 -0700

    test: [Snaps E2E] add more snaps localization testing (#23796)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->

    ## **Description**
    This PR adds checks for snap name localization to the snaps localization
    E2E test.
    <!--
    Write a short description of the changes included in this pull request,
    also include relevant motivation and context. Have in mind the following
    questions:
    1. What is the reason for the change?
    2. What is the improvement/solution?
    -->

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23796?quickstart=1)

    ## **Related issues**

    Fixes: https://github.com/MetaMask/MetaMask-planning/issues/1653

    ## **Manual testing steps**

    1. Run this as a single test locally.

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    <!-- [screenshots/recordings] -->

    ### **After**

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [x] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [x] I've completed the PR template to the best of my ability
    - [x] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [x] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit 07de8825dba3a72b91fceb481f3883886ab73c93
Author: Frederik Bolding <frederik.bolding@gmail.com>
Date:   Mon Apr 15 09:59:53 2024 +0200

    fix: cache subject metadata for redirect (#23999)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->

    ## **Description**

    Caches subject metadata on the permission redirect screen, fixing the
    problem where the dapp icon would disappear while redirecting. Also
    fixes the centering on this icon as well as multiple other icons in the
    app.

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23999?quickstart=1)

    ## **Manual testing steps**

    1. Connect to any dapp
    2. Notice the difference in the redirection screen

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    https://github.com/MetaMask/metamask-extension/assets/1561200/5b7a3ccc-47a8-4f95-932b-f544e998f331

    ### **After**

    https://github.com/MetaMask/metamask-extension/assets/1561200/dc331711-388b-4d53-a869-e89618742119

commit 833b601f1b5100708b3a45bdca36c9d768e620f8
Author: Nidhi Kumari <nidhi.kumari@consensys.net>
Date:   Mon Apr 15 12:34:37 2024 +0530

    fix: Updated avatar favicon props for single account disconnect toast (#23935)

    This PR ensures that when a single account is disconnected from the Dapp
    via connections. It shouldn't break the page and disconnects smoothle

    ## **Related issues**

    Fixes: #23790

    ## **Manual testing steps**

    1. Run extension with Multichain flag
    2. Connect a single account to uniswap
    3. Go to connections page, click on disconnect account.
    4. It should disconnect the account

    ## **Screenshots/Recordings**

    ### **Before**

    https://github.com/MetaMask/metamask-extension/assets/39872794/f4356be1-e6b8-4319-b2a0-be5439173fbe

    ### **After**

    https://github.com/MetaMask/metamask-extension/assets/39872794/779ababe-d6a2-4f9a-aca8-d09284dd4aee

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit ac9e13bb33ab5c3104ead0b51002c459b5618bf6
Author: David Murdoch <187813+davidmurdoch@users.noreply.github.com>
Date:   Mon Apr 15 01:47:28 2024 -0400

    ci: update `actions/setup-node` to v4 (#23821)

commit 25ae5a46257cf735b0acdf03140b6dc08f665cd7
Author: micaelae <100321200+micaelae@users.noreply.github.com>
Date:   Fri Apr 12 13:35:22 2024 -0700

    fix: new-network button label colors are not readable in light mode (#23988)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->

    ## **Description**

    This fixes the style of footer buttons in the new-network component so
    they are readable in both light and dark mode.

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23988?quickstart=1)

    ## **Related issues**

    Fixes:
    [23725](https://github.com/MetaMask/metamask-extension/issues/23725)

    ## **Manual testing steps**

    1. Turn on dark mode setting in extension
    2. Add a new network
    3. Verify that "Got it" button text is black
    4. Verify that "Learn to bridge" button text is blue
    5. Verify that "Learn to bridge" button text is black on hover
    6. Turn on light mode setting in extension
    2. Add a new network
    3. Verify that "Got it" button text is white
    4. Verify that "Learn to bridge" button text is blue
    5. Verify that "Learn to bridge" button text is white on hover

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    ![image](https://github.com/MetaMask/metamask-extension/assets/100321200/365fc1e7-e874-4bd6-aa12-3de97f0396d3)

    ### **After**

    <img width="341" alt="Screenshot 2024-04-11 at 10 59 23 AM"
    src="https://github.com/MetaMask/metamask-extension/assets/100321200/63f45351-3601-4ee7-9c5b-f74cb3fe3f85">

    ## **Pre-merge author checklist**

    - [X] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [X] I've completed the PR template to the best of my ability
    - [X] I’ve included tests if applicable
    - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [X] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit d6987bb6a0180f898bd5e4bf765c3636f985efef
Merge: fef29be936 6428b33b72
Author: Dan J Miller <danjm.com@gmail.com>
Date:   Fri Apr 12 17:28:04 2024 -0230

    Merge pull request #24010 from MetaMask/master-sync

    chore: Master sync following v11.14.0

commit 6428b33b72c8a98988610137a86fd33e713cab37
Merge: 8d7ec3a795 fef29be936
Author: Dan J Miller <danjm.com@gmail.com>
Date:   Fri Apr 12 17:05:27 2024 -0230

    Merge origin/develop into master-sync

commit fef29be93645f6f61130dc49fea0a4f3cdc7b535
Author: George Weiler <georgejweiler@gmail.com>
Date:   Fri Apr 12 11:44:36 2024 -0600

    feat: adds a ramps banner to home pages when users have zero balance (#23352)

    ## **Description**

    This PR adds a new component: `<RampsCard />` which is meant to replace
    the `<AssetListConversionButton/>` component.

    The `AssetListConversionButton` has been removed. Insteard, a "receive
    tokens" link and the RampsCard have been added.

    The RampsCard component will appear when the user has a zero native
    balance on the connected network and is meant to drive users toward the
    pdapp for onramping.

    There are 3 variants of the `<RampsCard>` for each of the 3 home page
    tabs: `Tokens`, `NFTs` and `Activity`. These variants have different
    designs but equal functionality.

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23352?quickstart=1)

    ## **Related issues**

    Fixes:

    ## **Manual testing steps**

    1. Connect to an account with `0` balance and verify that the ramps card
    is appearing
    2. Check each tab to verify the variants change the text, color and
    imagery of the ramps card.
    3. Change network and verify that the copy changes to the native token
    of that network
    4. Verify that each ramps card directs to the pdapp onramping feature

    ## **Screenshots/Recordings**

    Designs:
    <img width="357" alt="Screenshot 2024-03-06 at 9 46 55 AM"
    src="https://github.com/MetaMask/metamask-extension/assets/15269424/72e5da0e-429f-4886-9883-be6e2faaec1d">
    <img width="354" alt="Screenshot 2024-03-06 at 9 46 51 AM"
    src="https://github.com/MetaMask/metamask-extension/assets/15269424/88405f28-22ae-439d-a3cb-ba17a453958b">
    <img width="362" alt="Screenshot 2024-03-06 at 9 46 42 AM"
    src="https://github.com/MetaMask/metamask-extension/assets/15269424/0ae7bbb0-414a-460e-a1fd-c9d83be96900">

    Storybook:

    <img width="1243" alt="Screenshot 2024-03-06 at 9 51 02 AM"
    src="https://github.com/MetaMask/metamask-extension/assets/15269424/7b3a0ffb-2b4f-4888-86e4-4cbd4bc1156b">

    ### **Before**
    <img width="372" alt="Screenshot 2024-03-06 at 9 53 58 AM"
    src="https://github.com/MetaMask/metamask-extension/assets/15269424/6f2b8771-45a3-43ad-86c7-56d72a9a188e">

    ### **After**
    <img width="363" alt="Screenshot 2024-03-06 at 9 58 13 AM"
    src="https://github.com/MetaMask/metamask-extension/assets/15269424/7388777a-8dc9-4848-9c7b-8d0b78d5b837">

    ![Screenshot 2024-03-19 at 12 42
    06 PM](https://github.com/MetaMask/metamask-extension/assets/15269424/3549c187-4ff1-48fe-854a-4b01f9326b32)

    ## **Pre-merge author checklist**

    - [x] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [x] I've clearly explained what problem this PR is solving and how it
    is solved.
    - [x] I've linked related issues
    - [x] I've included manual testing steps
    - [x] I've included screenshots/recordings if applicable
    - [x] I’ve included tests if applicable
    - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [x] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.
    - [x] I’ve properly set the pull request status:
      - [x] In case it's not yet "ready for review", I've set it to "draft".
    - [x] In case it's "ready for review", I've changed it from "draft" to
    "non-draft".

    ## **Pre-merge reviewer checklist**

    - [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: Kevin Le Jeune <kevin.le-jeune@consensys.net>
    Co-authored-by: Dan J Miller <danjm.com@gmail.com>

commit 1098a101587ef92bc4ea09047265c7f4db86d338
Author: Matthew Walsh <matthew.walsh@consensys.net>
Date:   Fri Apr 12 15:06:00 2024 +0100

    fix: simulation metrics performance (#23992)

commit d15cc543d8349c92d12f76702cb2457cb181bfd8
Author: Nidhi Kumari <nidhi.kumari@consensys.net>
Date:   Fri Apr 12 16:24:11 2024 +0530

    fix: Added connections logic specific to dapp (#23844)

    This PR is to ensure that the correct connected accounts show up when
    you visit the connections page via the permissions page

    ## **Related issues**

    Fixes:
    [MetaMask-planning/issues/2282](https://github.com/MetaMask/MetaMask-planning/issues/2282)

    ## **Manual testing steps**

    1. Go to permissions page
    2. check the permission page redirect you to connection page correctly

    ## **Screenshots/Recordings**

    ### **Before**

    https://github.com/MetaMask/metamask-extension/assets/39872794/e4dc2fcb-55aa-415c-8bc1-cd697405353e

    ### **After**

    https://github.com/MetaMask/metamask-extension/assets/39872794/ee592980-9c3a-4df4-bcef-7cade7422190

    ## **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: David Walsh <davidwalsh83@gmail.com>

commit b056a8bff4f766237062fca9acc6ac8b8018cf36
Author: Thomas Huang <tmashuang@users.noreply.github.com>
Date:   Thu Apr 11 14:32:49 2024 -0700

    test: Add ability to have any number of ganache servers for e2e (#23783)

    <!--
    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.
    -->

    Adds ability to create more than two ganache servers for e2e testing for
    request queuing.

    ## **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/23783?quickstart=1)

    ## **Related issues**

    Fixes:

    ## **Manual testing steps**

    1. Go to this page...
    2.
    3.

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    <!-- [screenshots/recordings] -->

    ### **After**

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [ x ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ x ] I've completed the PR template to the best of my ability
    - [ x ] I’ve included tests if applicable
    - [ ] 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.

commit c0e3ca0a4ed730a509898ec1f1b30931544117de
Author: Daniel <80175477+dan437@users.noreply.github.com>
Date:   Thu Apr 11 20:28:18 2024 +0200

    feat: Small updates for Smart Transactions (#23963)

    ## **Description**

    This PR includes:
    - Showing the `SimulationDetails` component on the Smart Transactions
    status page
    - Update content for one of the benefits of Smart Transactions
    - A few event props
    - Using the latest smart-transactions-controller (8.1.0)

    ## **Related issues**

    Fixes:

    ## **Manual testing steps**

    1. To see the `SimulationDetails`component on the STX status page, you
    could try a swap on a 3rd party dapp on the Sepolia test network. Then
    it will show token from, token to and their amounts.
    2. For event props, you can look for the `Transaction Finalized` event
    if you opted into metrics and see the new props there
    3. The latest STX controller uses the `metamask.io` domain for API
    calls, which you can verify in the Network tab in dev tools

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    <!-- [screenshots/recordings] -->

    ### **After**

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit b8159d4790456f6b1f0d180091f27d383fd49bc5
Author: Xiaoming Wang <dawnseeker8@gmail.com>
Date:   Thu Apr 11 17:23:31 2024 +0100

    fix(23804): unable to add QR code account (#23903)

    <!--
    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 connection via QR code on Hardware wallet is not proceeding past
    scanning the QR code. Functionality is working in the release version
    v11.13.1.

    After debuggin the code and discover that the issue is caused by Keyring
    Controller upgraded to 13.0.0. and `#addQRKeyring` function have bug to
    pass a empty accounts array as parameters to keyring, cause the Keystone
    MetamaskKeyring default properties all are undefined during
    deserialise() process.

    This fix patch the `@metamask/keyring-controller` to remove the empty
    array passed to KeyStone MetamaskKeyring so that all default properies
    in keyring will remain the same.

    <!--
    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/23903?quickstart=1)

    ## **Related issues**

    Fixes: #23804

    ## **Manual testing steps**

    1. On your hardware wallet, fetch the QR code for MetaMask
    2. Proceed to add hardware wallet from the account drop-down selector
    3. Select QR-based and Continue
    4. Scan the QR code from the hardware wallet
    5. user should be able to select QR code account and imported

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    https://private-user-images.githubusercontent.com/120041701/318063954-da648f60-e044-4dd4-8e10-484f68dc4ee4.mov?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTI2MzkzNTQsIm5iZiI6MTcxMjYzOTA1NCwicGF0aCI6Ii8xMjAwNDE3MDEvMzE4MDYzOTU0LWRhNjQ4ZjYwLWUwNDQtNGRkNC04ZTEwLTQ4NGY2OGRjNGVlNC5tb3Y_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNDA5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDQwOVQwNTA0MTRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iM2QzMDllNTliMzNhNTc5YjVjMDJiY2M3MjZjYWU2NGExNWQ5OWY1MzI3NjExZDc3OWZmOGJhOTk5ODBhZDJjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.visSNnKwa_VELXLKh5PBUgbuMvBqOKMDH-oieICU_UI

    <!-- [screenshots/recordings] -->

    ### **After**

    https://github.com/MetaMask/metamask-extension/assets/7315988/d4bd8765-499c-40b2-8429-117b58f61a9c

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [x] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [x] I've completed the PR template to the best of my ability
    - [x] I’ve included tests if applicable
    - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [x] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [x] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [x] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

    ---------

    Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>

commit 324b55baefea478e41dce36a394590f64247f116
Author: Matthew Walsh <matthew.walsh@consensys.net>
Date:   Thu Apr 11 16:46:01 2024 +0100

    fix: always use remote token list for default petnames (#23919)

commit c84fc8c8da2a4d3663eb0129c8471ccf18c9ce5c
Author: salimtb <salim.toubal@outlook.com>
Date:   Thu Apr 11 16:47:05 2024 +0200

    fix: update arbitrum logo (#23969)

    <!--
    Please submit this PR as a draft initially.
    Do not mark it as "Ready for review" until the template has been
    completely filled out, and PR status checks have passed at least once.
    -->

    ## **Description**

    update Arbitrum logo

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23969?quickstart=1)

    ## **Related issues**

    Fixes:

    ## **Manual testing steps**

    1. Go to popular network
    2.check arbitrum logo

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    ![Screenshot 2024-04-11 at 15 36
    14](https://github.com/MetaMask/metamask-extension/assets/26223211/c3809a9c-22ed-42f9-ad2c-452b457bb7b2)

    ### **After**

    <img width="1176" alt="Screenshot 2024-04-11 at 15 35 13"
    src="https://github.com/MetaMask/metamask-extension/assets/26223211/debdadfc-15b7-45bb-a91f-967ac6f7349a">

    ## **Pre-merge author checklist**

    - [x] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [x] I've completed the PR template to the best of my ability
    - [ ] I’ve included tests if applicable
    - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [x] I’ve applied the right labels on the PR (see [labeling
    guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
    Not required for external contributors.

    ## **Pre-merge reviewer checklist**

    - [ ] I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
    - [ ] I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

commit 6bd3de731a912e63ad2c62264a8a69479ac1ce60
Author: Michele Esposito <34438276+mikesposito@users.noreply.github.com>
Date:   Thu Apr 11 12:41:39 2024 +0200

    fix(browser-passworder): `isVaultUpdated` should not return promise (#23573)

    ## **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?
    -->

    The encryptor factory currently constructs `isVaultUpdated` as an async
    function, but the underlying browser-passworder's method does not return
    a promise, and KeyringController does not await it. This means that
    `isVaultUpdated` will always return a truthy value when not awaited,
    never updating the vault _before_ a user action.

    [![Open in GitHub
    Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/23573?quickstart=1)

    ## **Related issues**

    Fixes:

    ## **Manual testing steps**

    1. Go to this page...
    2.
    3.

    ## **Screenshots/Recordings**

    <!-- If applicable, add screenshots and/or recordings to visualize the
    before and after of your change. -->

    ### **Before**

    <!-- [screenshots/recordings] -->

    ### **After**

    <!-- [screenshots/recordings] -->

    ## **Pre-merge author checklist**

    - [ ] I’ve followed [MetaMask Coding
    Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
    - [ ] I've clearly explained what problem this PR is solving and how it
    is solved.
    - [ ] I've linked related issues
    - [ ] I've included manual testing steps
    - [ ] I've included screenshots/recordings if applicable
    - [ ] I’ve included tests if applicable
    - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
    if applicable
    - [ ] I’ve applied the right labels on the PR (see [l…
@gauthierpetetin gauthierpetetin added the regression-develop Regression bug that was found on development branch, but not yet present in production label May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
amon-hen-v1 Represents blocking issues for the release of Amon Hen regression-develop Regression bug that was found on development branch, but not yet present in production release-11.16.0 Issue or pull request that will be included in release 11.16.0 Sev2-normal Normal severity; minor loss of service or inconvenience. team-wallet-ux type-bug
Projects
Archived in project
Status: To be fixed
Development

Successfully merging a pull request may close this issue.

4 participants