Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Ensure that network client ID is updated before use (#4801)
## Explanation This PR fixes a rare problem that would occur when deleting a network after a proxy in `SelectedNetworkController` has been garbage collected. When this happens, `getProviderAndBlockTracker` will fail to find the old network client ID and thus updating the network client ID for the domain will fail. This could be reproduced in an E2E test that would only fail on this branch: MetaMask/metamask-extension#27306 which enables `initialConnections` for a preinstalled Snap. `initialConnections` adds a permission for an origin to connect to a Snap which causes the `SelectedNetworkController` to register the domain. My theory is that since the user has not accessed the origin in question yet, the proxy may not be used and may be garbage collected. If a network is deleted following that, an error occurs. ## Changelog <!-- If you're making any consumer-facing changes, list those changes here as if you were updating a changelog, using the template below as a guide. (CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or FIXED. For security-related issues, follow the Security Advisory process.) Please take care to name the exact pieces of the API you've added or changed (e.g. types, interfaces, functions, or methods). If there are any breaking changes, make sure to offer a solution for consumers to follow once they upgrade to the changes. Finally, if you're only making changes to development scripts or tests, you may replace the template below with "None". --> ### `@metamask/selected-network-controller` - **Fixed**: Ensure that network client ID is updated before using it ## Checklist - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [x] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
- Loading branch information