fix(cherry-pick): Add migration 120.4 to delete obsolete currency, phishing and network controller state#26390
Merged
danjm merged 2 commits intoVersion-v12.0.2from Aug 13, 2024
Merged
Conversation
Contributor
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
…#26383) We are seeing the following sorts of errors in production, as reported by sentry, in v12.0.2: `No metadata found for 'conversionDate'` `No metadata found for 'usdConversionRate'` `No metadata found for 'nativeCurrency'` `No metadata found for 'conversionRate'` Example issue: https://metamask.sentry.io/issues/5682684113/events/b8006eebb65749f883e907242e52215b/?project=273505&query=is%3Aunresolved+issue.priority%3A%5Bhigh%2C+medium%5D+No+metadata+release%3A12.0.1&referrer=previous-event&statsPeriod=14d&stream_index=1 The `CurrencyRateController` stopped using six such properties with MetaMask/core#1805, which was brought into the extension with #21549, however, there was not a state migration to delete those properties at the time This PR adds migrations to delete those obsolete properties [](https://codespaces.new/MetaMask/metamask-extension/pull/26383?quickstart=1) Fixes: #26356 To observe the error using steps that mimic users in production 1. Install v11.6.0 and onboard 2. Create a local dev build from the `master` branch 3. Update the v11.6.0 install to the local dev build 4. See the errors in the service worker console If you repeat those steps, but in step two build from this branch instead of the `master` branch, the errors will not occur For a faster manual test of this PR, create a local development build of this branch and then run this script in the service worker console: ``` window.chrome.storage.local.get(({ data, meta }) => chrome.storage.local.set({ data: { ...data, CurrencyController: { ...data.CurrencyController, conversionDate: 'Jan 1', conversionRate: '2', nativeCurrency: 'test' } }, meta: {...meta, version: 120 } }, () => { chrome.runtime.reload() })) ``` There should be no errors like `No metadata found for 'conversionRate'` (but if you do the same on develop or master, those errors should be present) <!-- 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/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Mark Stacey <markjstacey@gmail.com>
…ntrol… (#26396) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Expands on #26383 to delete more obsolete state from the Network and Phishing controllers, to eliminate other sentry errors. [](https://codespaces.new/MetaMask/metamask-extension/pull/26396?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I've followed [MetaMask 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 - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Mark Stacey <markjstacey@gmail.com>
d7612c9 to
a3eb585
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## Version-v12.0.2 #26390 +/- ##
===================================================
+ Coverage 65.69% 65.71% +0.02%
===================================================
Files 1370 1371 +1
Lines 54705 54742 +37
Branches 14235 14241 +6
===================================================
+ Hits 35935 35972 +37
Misses 18770 18770 ☔ View full report in Codecov by Sentry. |
Collaborator
Builds ready [a3eb585]
Page Load Metrics (151 ± 185 ms)
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cherry pick ac638f1 (#26383) and d7612c9549 (#26396) to v12.0.2