-
Notifications
You must be signed in to change notification settings - Fork 5k
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
Error: No metadata found for 'networkStatus' #26297
Comments
Migration 120.2 has been refactored to prepare for the addition of further obsolete state cleanup steps. A few minor functional changes and test changes have been made as well. The changes are: * The migration has been refactored to group together changes for each controller in separate functions. * When the `SnapController` state is invalid, we now capture a Sentry exception * A test has been added for this case as well * Tests have been grouped together by controller * Tests have been added to ensure corrupted controller state does not impact the obsolete state removal steps of other controllers * Effectively each obsolete state removal function is acting as an independent migration here * The tests have been updated to deep clone the input to guard against the migration failing to do so Relates to #26297
Migration 120.2 has been refactored to prepare for the addition of further obsolete state cleanup steps. A few minor functional changes and test changes have been made as well. The changes are: * The migration has been refactored to group together changes for each controller in separate functions. * When the `SnapController` state is invalid, we now capture a Sentry exception * A test has been added for this case as well * Tests have been grouped together by controller * Tests have been added to ensure corrupted controller state does not impact the obsolete state removal steps of other controllers * Effectively each obsolete state removal function is acting as an independent migration here * The tests have been updated to deep clone the input to guard against the migration failing to do so * The `transformState` function was given an explicit return type, and the unused return value was removed. Relates to #26297
Migration 120.2 has been refactored to prepare for the addition of further obsolete state cleanup steps. A few minor functional changes and test changes have been made as well. The changes are: * The migration has been refactored to group together changes for each controller in separate functions. * When the `SnapController` state is invalid, we now capture a Sentry exception * A test has been added for this case as well * Tests have been grouped together by controller * Tests have been added to ensure corrupted controller state does not impact the obsolete state removal steps of other controllers * Effectively each obsolete state removal function is acting as an independent migration here * A test was added for the case where `SnapController` state is not set * The tests have been updated to deep clone the input to guard against the migration failing to do so * The `transformState` function was given an explicit return type, and the unused return value was removed. Relates to #26297
Sentry Issue: METAMASK-X7XG |
Sentry Issue: METAMASK-XA2H |
Sentry Issue: METAMASK-XAK2 |
Migration 120.2 has been updated to remove obsolete NetworkController state as well. Fixes #26297
## **Description** Migration 120.2 has been refactored to prepare for the addition of further obsolete state cleanup steps. A few minor functional changes and test changes have been made as well. The changes are: * The migration has been refactored to group together changes for each controller in separate functions. * The `SelectedNetworkController` migration has been updated to delete state rather than set it to default. This is functionally equivalent (for this controller) and it simplified the migration and tests a bit, avoiding the need to verify that the default state was correct. * When the `SnapController` state is invalid, we now capture a Sentry exception * A test has been added for this case as well * JSDoc comments have been added to the migration * Tests have been grouped together by controller * Tests have been added to ensure corrupted controller state does not impact the obsolete state removal steps of other controllers * Effectively each obsolete state removal function is acting as an independent migration here * A test was added for the case where `SnapController` state is not set * The tests have been updated to deep clone the input to guard against the migration failing to do so * The `transformState` function was given an explicit return type, and the unused return value was removed. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26298?quickstart=1) ## **Related issues** Relates to #26297 ## **Manual testing steps** N/A ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Migration 120.2 has been updated to remove obsolete NetworkController state as well. Fixes #26297
Migration 120.2 has been updated to remove obsolete NetworkController state as well. Fixes #26297
## **Description** Migration 120.2 has been updated to remove obsolete NetworkController state as well. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26302?quickstart=1) ## **Related issues** Fixes #26297 ## **Manual testing steps** N/A ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Migration 120.2 has been refactored to prepare for the addition of further obsolete state cleanup steps. A few minor functional changes and test changes have been made as well. The changes are: * The migration has been refactored to group together changes for each controller in separate functions. * The `SelectedNetworkController` migration has been updated to delete state rather than set it to default. This is functionally equivalent (for this controller) and it simplified the migration and tests a bit, avoiding the need to verify that the default state was correct. * When the `SnapController` state is invalid, we now capture a Sentry exception * A test has been added for this case as well * JSDoc comments have been added to the migration * Tests have been grouped together by controller * Tests have been added to ensure corrupted controller state does not impact the obsolete state removal steps of other controllers * Effectively each obsolete state removal function is acting as an independent migration here * A test was added for the case where `SnapController` state is not set * The tests have been updated to deep clone the input to guard against the migration failing to do so * The `transformState` function was given an explicit return type, and the unused return value was removed. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26298?quickstart=1) ## **Related issues** Relates to #26297 ## **Manual testing steps** N/A ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Migration 120.2 has been updated to remove obsolete NetworkController state as well. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26302?quickstart=1) ## **Related issues** Fixes #26297 ## **Manual testing steps** N/A ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Migration 120.2 has been refactored to prepare for the addition of further obsolete state cleanup steps. A few minor functional changes and test changes have been made as well. The changes are: * The migration has been refactored to group together changes for each controller in separate functions. * The `SelectedNetworkController` migration has been updated to delete state rather than set it to default. This is functionally equivalent (for this controller) and it simplified the migration and tests a bit, avoiding the need to verify that the default state was correct. * When the `SnapController` state is invalid, we now capture a Sentry exception * A test has been added for this case as well * JSDoc comments have been added to the migration * Tests have been grouped together by controller * Tests have been added to ensure corrupted controller state does not impact the obsolete state removal steps of other controllers * Effectively each obsolete state removal function is acting as an independent migration here * A test was added for the case where `SnapController` state is not set * The tests have been updated to deep clone the input to guard against the migration failing to do so * The `transformState` function was given an explicit return type, and the unused return value was removed. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26298?quickstart=1) ## **Related issues** Relates to #26297 ## **Manual testing steps** N/A ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Migration 120.2 has been updated to remove obsolete NetworkController state as well. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26302?quickstart=1) ## **Related issues** Fixes #26297 ## **Manual testing steps** N/A ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Collaborative Effort Required for Root Cause Analysis (RCA) on Critical Issues We are quickly approaching the end of the quarter and we encourage you once again to take some moments and perform RCA on this critical issue. You may do so by answering the questions below: 1. What PR fixed the issue? Please provide your answers as a reply to this comment and tag me as well. You can read more about the initiative here. Thank you! Tagging eng. who added the fix: @Gudahtt |
It's not clear. This is one of many recent incidents where some obsolete state was found in production, despite there being no evidence of a migration failure. We had some theories about how this may have happened, e.g. perhaps the browser or filesystem encountered an error partway through the operation of saving state after an update, leaving state partially outdated. But we don't have any evidence that would suggest a root cause here. The number of affected users appears small though.
Unknown, see answer to 2
4.1. Were there any missing unit, e2e or manual tests that could have preempted this issue? None in particular, no 4.2. Were there any other elements lacking, such as typed code, comprehensive documentation, well-architected APIs, etc., that might have prevented this issue? Our migration state validation is very much written by hand, and is verbose and error prone. As far as we could tell, this was not a factor in this problem. But it's related at least, it would have simplified the investigation if we had better migration tooling that we could trust. 4.3. If your answer to a and b is no, then is there anything at all that you can think of that, if it had been different before this bug was introduced, would have prevented it from being merged?
|
Sentry Issue: METAMASK-X636
The text was updated successfully, but these errors were encountered: