-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[Bug]: Infinite spinner on revealing SRP or switching networks #32416
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
Labels
regression-prod-12.16.1
Regression bug that was found in production in release 12.16.1
rollout-blocker
Sev1-high
High severity; partial loss of service with severe impact upon users, with no workaround.
team-extension-platform
Extension Platform team
type-bug
Something isn't working
Comments
7 tasks
github-merge-queue bot
pushed a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Hi , This issue has been closed. Please complete this RCA form: |
runway-github bot
added a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
pushed a commit
that referenced
this issue
May 1, 2025
…ces controller (#32391) ## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Merged
7 tasks
DDDDDanica
pushed a commit
that referenced
this issue
May 1, 2025
Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) Fixes: Potentially fixes #32416 #31422 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> <!-- [screenshots/recordings] --> <!-- [screenshots/recordings] --> - [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/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-extension/blob/main/.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.
14 tasks
runway-github bot
added a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 1, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
runway-github bot
added a commit
that referenced
this issue
May 5, 2025
## **Description** Wow, huge oopsy on my side. Urgh, a little annoyed that I didn't spot this earlier. After doing some thorough debugging, I found an infinite state update loop from the NotificationServicesController. I didn't find the full context but this controller: - Listens to `KeyringController:stateChange` events - When receiving an event we perform a `KeyringController:withKeyring` action. Somewhere above (or potentially another controller firing events or actions?) will then fire another `KeyringController:stateChange` and the loop repeats. This prevents other state updates and redux updates. Controller fix: MetaMask/core#5731 However this patch can be an interim for existing releases or until the CORE package is released. <details><summary>Screenshot of background logs</summary>  </details> [](https://codespaces.new/MetaMask/metamask-extension/pull/32391?quickstart=1) ## **Related issues** Fixes: Potentially fixes #32416 #31422 ## **Manual testing steps** 1. Turn on notifications 2. Try dismissing the carousel banners 3. Try switching networks 4. Try the send flow where you send sepolia ## **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/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
regression-prod-12.16.1
Regression bug that was found in production in release 12.16.1
rollout-blocker
Sev1-high
High severity; partial loss of service with severe impact upon users, with no workaround.
team-extension-platform
Extension Platform team
type-bug
Something isn't working
Describe the bug
Some users are reporting an infinite loading indicator after submitting password to reveal SRP, and after switching networks.
Expected behavior
No response
Screenshots/Recordings
No response
Steps to reproduce
Users report encountering this issue when switching networks. One user reports seeing also when revealing SRP (after submitting password for verification).
The team has not reproduced the issue yet.
Error messages or log output
Detection stage
In production (default)
Version
12.16.1
Build type
None
Browser
Chrome
Operating system
Other (please elaborate in the "Additional Context" section)
Hardware wallet
No response
Additional context
See this thread for details: https://consensys.slack.com/archives/C8RSKCNCD/p1745939968893759
Severity
No response
The text was updated successfully, but these errors were encountered: