-
Notifications
You must be signed in to change notification settings - Fork 5.5k
feat: add/improve Sentry instrumentation for storage related error handling cp-13.15.0 #39113
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
Merged
HowardBraham
merged 32 commits into
main
from
database-corruption-workarounds-instrumentation
Jan 16, 2026
+196
−20
Merged
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
13ffee0
feat: add workarounds for database corruption scenarios
gauthierpetetin ba96097
Fix linting issues
gauthierpetetin 8a521e8
Add showDatabaseCorruptionToast to snapshots and fixtures
gauthierpetetin 5811292
Add showDatabaseCorruptionToast to Sentry state
gauthierpetetin 8ec2ba1
Place showDatabaseCorruptionToast at the right location based on alph…
gauthierpetetin ea89449
Add missing showDatabaseCorruptionToast property
gauthierpetetin b91a0c4
Remove showDatabaseCorruptionToast from before-init snapshots
gauthierpetetin acd13e0
Merge branch 'main' into database-corruption-workarounds
gauthierpetetin 957b08d
Improve logic that determines when to show the toast
gauthierpetetin 04d4af6
Merge branch 'main' into database-corruption-workarounds
gauthierpetetin 9d109d7
Consolidate vault recovery logic and respect validateVault flag
gauthierpetetin a0849b3
Rename variables
gauthierpetetin ed13ab3
Rename toast variables for more generic name
gauthierpetetin b3fa0af
Merge branch 'main' into database-corruption-workarounds
gauthierpetetin 67776f7
Update comments
gauthierpetetin c6a7e67
Prevent backup failures
gauthierpetetin a6ac6dd
Update copies
gauthierpetetin 04766ce
Update copy
gauthierpetetin d4bfbe3
feat: add instrumentation to database corruption issues
gauthierpetetin a29601f
Fix linting error
gauthierpetetin 84b2ee7
Call notifySetFailed on every error
gauthierpetetin 5d35173
Merge remote-tracking branch 'origin/database-corruption-workarounds'…
gauthierpetetin 7a23cab
Merge branch 'main' into database-corruption-workarounds
gauthierpetetin 988359a
Merge branch 'database-corruption-workarounds' into database-corrupti…
gauthierpetetin 879b18f
Differentiate backup failures from local storage failures in Sentry
gauthierpetetin eb4558c
Track temporary set failures
gauthierpetetin 03a318d
Merge branch 'main' into database-corruption-workarounds
gauthierpetetin 7fbb7a7
Merge branch 'database-corruption-workarounds' into database-corrupti…
gauthierpetetin acd3adf
Merge remote-tracking branch 'origin/main' into database-corruption-w…
gauthierpetetin 598145d
Fix state persistence inconsistency in backup code path
gauthierpetetin 4f6547d
Merge branch 'main' into database-corruption-workarounds-instrumentation
gauthierpetetin 1ca4d4d
Fix unit test
gauthierpetetin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a fix introduced in this commit: 598145d
Without this fix,
should update from data state to split stateE2E test was failing.Adding MetaMetricsController to the list of backed up controllers (cf. discussion here) broke the
should update from data state to split stateE2E test.It seems we were persisting the full state to storage (including non-persistent properties), instead of only persisting the persistent properties. This wasn’t visible before adding MetaMetricsController because the other backed up controllers (KeyringController and AppMetadataController) didn’t change very frequently, whereas MetaMetricsController changes more often. Persisting only persistent properties fixed the E2E test.