[TESTING ONLY] Pin react-native-onyx to tab-sync-for-collections (Onyx PR #815) - #97218
Draft
elirangoshen wants to merge 6 commits into
Draft
[TESTING ONLY] Pin react-native-onyx to tab-sync-for-collections (Onyx PR #815)#97218elirangoshen wants to merge 6 commits into
elirangoshen wants to merge 6 commits into
Conversation
…x PR Expensify#803) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
|
42 tasks
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mmits Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Explanation of Change
This is a TESTING ONLY companion PR for the react-native-onyx PR Expensify/react-native-onyx#815 ("Fix cross-tab sync for collection-root subscribers"), which $ #94839.
The only change here is pinning
react-native-onyxinpackage.json/package-lock.jsonto the Onyx PR's head commit (callstack-internal/react-native-onyx#60c627e, which has the latest onyxmain/ v3.0.94 merged in), so the full E/App CI suite runs against the Onyx change, per the onyx repo's "Linked E/App PR" requirement. Once Onyx #803 merges and a new version is published to npm, this PR will be updated to the pinned npm version and become the version-bump PR.What Onyx #803 fixes: Onyx cross-tab storage sync events were not delivered to collection-root subscribers (e.g. the LHN subscribing to the reports collection), so actions like pin/unpin, drafting a message, and marking read/unread performed in one tab did not sync to other open tabs. The fix broadcasts collection member changes so collection-root subscribers receive them, including chunking of large sync events and handling of legacy pre-batching events.
Manual verification was performed on web with two tabs on the same account (on App
main, which includes the OnyxDerived microtask coalescing from #96785): pin/unpin, draft message, mark read/unread, and send message all synced to the idle tab, with OnyxDerived recompute counts staying at ~3-6 per action (no derived recompute storm, which was the previous failure mode before coalescing landed).Fixed Issues
$ #94839
PROPOSAL: N/A (testing-only companion PR for the Onyx fix in Expensify/react-native-onyx#815)
Automated Tests
Automated coverage for the fix lives in the paired onyx PR (Expensify/react-native-onyx#815), in
tests/unit/onyxTest.ts. This PR only pins the dependency so the full E/App CI suite runs against it.Tests
Offline tests
N/A — cross-tab sync is delivered via local storage events between tabs on the same device and involves no network requests. This PR is a dependency pin only; standard offline behavior is unaffected.
QA Steps
Same as Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, 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.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
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari