You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## **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.
0 commit comments