-
Notifications
You must be signed in to change notification settings - Fork 3.5k
bump react-native-onyx to 3.0.24 #77736
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
base: main
Are you sure you want to change the base?
Conversation
|
|
| const [lastPaymentMethods] = useOnyx(ONYXKEYS.NVP_LAST_PAYMENT_METHOD, {canBeMissing: true}); | ||
| const [currentDate] = useOnyx(ONYXKEYS.CURRENT_DATE, {canBeMissing: true}); | ||
| const newReportID = generateReportID(); | ||
| const newReportID = useMemo(() => generateReportID(), []); |
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.
@eVoloshchak This change is needed to prevent the infinity rendering on SearchPage after our change.
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.
@nkdengineer, but why is there an infinity rendering after the changes to react-native-onyx?
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.
Because when the key is changed, we reset the result value then the SearchPage is rendered again --> generateReportID returns another reportID --> the key change --> the result is reset --> the component is rendered.
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.
@nkdengineer, I don't think that's the correct approach, this hard crashes the app if you don't wrap every usage of generateReportID with useMemo, we'd have to document this and track that it throughout the app. Let's revert the onyx PR and discuss a better approach
|
@eVoloshchak Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
Let's put this on hold, Screen.Recording.2025-12-22.at.22.29.41.mov |
Explanation of Change
bump react-native-onyx to 3.0.24
Fixed Issues
$ #76015
PROPOSAL: #76015 (comment)
Tests
Precondition:
Offline tests
Same
QA Steps
Same as test
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand 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
Screen.Recording.2025-12-07.at.21.19.45.mov
Android: mWeb Chrome
Screen.Recording.2025-12-07.at.21.18.40.mov
iOS: Native
Screen.Recording.2025-12-07.at.21.23.22.mov
iOS: mWeb Safari
Screen.Recording.2025-12-07.at.21.21.19.mov
MacOS: Chrome / Safari
Screen.Recording.2025-12-07.at.21.17.33.mov