Perf: Split WideRHPContext into State and Actions#80726
Perf: Split WideRHPContext into State and Actions#80726mountiny merged 7 commits intoExpensify:mainfrom
Conversation
|
@mkhutornyi 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] |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / SafariScreen.Recording.2026-01-28.at.3.28.29.pm.movScreen.Recording.2026-01-28.at.3.29.41.pm.mov |
|
Please fix conflict |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@mkhutornyi Now everything should be fine! |
|
@staszekscp conflicts again |
| const syncRHPKeys = useCallback(() => { | ||
| const syncRHPKeys = () => { |
There was a problem hiding this comment.
Please disable lint warning with the reason. Otherwise it will increase max warnings count in the app.
There was a problem hiding this comment.
The problem is that in order to disable it I would have to use eslint-disable-next-line react-hooks/exhaustive-deps , which breaks the React Compiler. I readded the useCallback but I believe the warning is not correct.
There must be a step to verify something in Tests / QA Steps |
|
Codex Review: Something went wrong. Try again later by commenting “@codex review”. ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
|
Codex Review: Didn't find any major issues. 🎉 ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
mountiny
left a comment
There was a problem hiding this comment.
Thank you, looks great!
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.3.11-0 🚀
|
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.3.12-1 🚀
|
cc: @TMisiukiewicz @mountiny
Explanation of Change
This PR spilts
WideRHPContextinto State and Actions. It improves the opening time of the Wide RHP by ~12% (867.39 -> 772.73).It's a follow-up for this PR: #80487
Fixed Issues
$ #80469
$ #80271
PROPOSAL: N/A
Tests
Offline tests
QA Steps
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.2026-01-28.at.11.06.38.mov
Android: mWeb Chrome
iOS: Native
Simulator.Screen.Recording.-.iPhone.16.Pro.-.2026-01-28.at.10.52.42.mp4
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2026-01-28.at.09.40.22.mov