[Onyx bump] Bump react-native-onyx from 3.0.83 to 3.0.85#93804
Conversation
|
|
|
cc: @Julesssss @fabioh8010 @ikevin127 this PR replaces #91085 which I cannot edit |
|
jest test failed with |
|
@brunovjk Could you prioritise review here? Thanks! |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / SafariTest 1: Test.1.movTest 2: Test.2.movTest 3: Test.3.mov |
brunovjk
left a comment
There was a problem hiding this comment.
LGTM. The Jest Unit Tests workflow has a warning/failure, but it does not look related to this PR
|
Just to clarify: the approval from my study account was submitted by mistake. The intended review is the approval from my main account. Please ignore |
Explanation of Change
This PR bumps Onyx from 3.0.83 to 3.0.85 (diff), which includes the following changes:
deleteDatabase(), no UI changes.mergeandsethandle aborted IDB write transactions so they always reject with a real, namedAbortErrorinstead of a literalnull(which was unclassifiable and logged asError: null).Fixed Issues
$ #90636
$ #87867
PROPOSAL:
Tests
Each test injects a monkey-patch via the browser console to simulate the error class, then triggers an Onyx write (e.g. navigate to a different chat). No code changes needed.
Test 1 — Backing store error (Chromium path):
/IDB (heal|InvalidStateError|error|connection closed|Store \w+ does not exist|Creating store)/[info] IDB heal: backing store error detected — dropping cached connection and reopening (2 attempts left)[info] IDB heal: successfully recovered after backing store errorTest 2 — Connection lost (Safari path):
[info] IDB heal: connection lost error detected — dropping cached connection and reopening (2 attempts left)[info] IDB heal: successfully recovered after connection lost errorTest 3 — Budget exhaustion (3 consecutive failures, then gives up):
[info] IDB heal: backing store error detected — dropping cached connection and reopening (2 attempts left)[info] IDB heal: backing store error detected — dropping cached connection and reopening (1 attempts left)[info] IDB heal: backing store error detected — dropping cached connection and reopening (0 attempts left)[alrt] IDB heal: backing store error — heal budget exhausted, giving upsetWithRetrytakes over (up to 5 retries). App may degrade but should not crash or white-screenOffline tests
N/A — this change targets IDB connection/corruption errors, not network state. Onyx's existing offline handling is unchanged.
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
N/A — IDB is web-only, no native changes.
Android: mWeb Chrome
iOS: Native
N/A — IDB is web-only, no native changes.
iOS: mWeb Safari
MacOS: Chrome / Safari
Healed (simulated error):
healed.mov
Killed connection (simulated error):
killed.mp4
Exhausted (simulated error):
exhausted.mov
Healed (simulated on Safari):
safari_error.mp4
Killed connection (simulated on Safari):
safari_killed.mp4
Exhausted (simulated on Safari):
safari_exhausted.mp4
Healed offline (simulated on Chrome):
offline.mp4