-
Notifications
You must be signed in to change notification settings - Fork 89
Skippable Collection Member IDs #604
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
Skippable Collection Member IDs #604
Conversation
…lection-member-ids
|
Updates:
|
|
I've just profiled the Onyx changes -- no significant changes in performance ✅ Profilingmain Onyx branchStartup / Open Big Report
Switch to Big Report
Send Message
Create Expense Flow
skippable member IDs Onyx branchOpen Big Report
Switch to Big Report
Send Message
Create Expense Flow
Reassure
Significant Changes To Duration
Show details
Meaningless Changes To DurationShow entries
Show details
Changes To CountThere are no entries Added ScenariosThere are no entries Removed ScenariosThere are no entries |
|
PR opened to review! |
|
Testing in app |
allgandalf
left a comment
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.
LGTM!
marcochavezf
left a comment
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.
Thanks guys!
Details
This PR introduces a new configuration to
Onyx.init()– the option to specify skippable collection member IDs. It will be possible to pass an array of collection member IDs (strings) which updates will be ignored when using Onyx methods. Additionally, any subscribers from these keys to won't receive any data from Onyx.Example:
Related Issues
Expensify/App#50360
Automated Tests
Unit tests were created to cover the changes.
Manual Tests
General tests in E/App:
Author Checklist
### Related Issuessection aboveTestssectiontoggleReportand notonIconClick)myBool && <MyComponent />.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)Avataris modified, I verified thatAvataris working as expected in all cases)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
Screen.Recording.2025-01-16.at.17.44.45-compressed.mov
Android: mWeb Chrome
Screen.Recording.2025-01-16.at.17.49.30-compressed.mov
iOS: Native
Screen.Recording.2025-01-16.at.18.17.09-compressed.mov
iOS: mWeb Safari
Screen.Recording.2025-01-16.at.18.19.00-compressed.mov
MacOS: Chrome / Safari
Screen.Recording.2025-01-16.at.18.22.10-compressed.mov
Screen.Recording.2025-01-16.at.18.23.35-compressed.mov
MacOS: Desktop
Screen.Recording.2025-01-16.at.18.27.06-compressed.mov