-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[HOLD for payment 2023-09-27] [Performance] Improve performance, reduce renders on opening RHP and pages within #22996
Comments
Triggered auto assignment to @NicMendonca ( |
Bug0 Triage Checklist (Main S/O)
|
Job added to Upwork: https://www.upwork.com/jobs/~019347f7a628ea6599 |
Triggered auto assignment to Contributor Plus for review of internal employee PR - @mananjadhav ( |
Making this internal and exporting to some agency |
Me and @adamgrzybowski are looking at it as a part of adding smooth RHP animations 🚀 |
I would like to check the re-render count when applying the changes proposed here: won't interfere with you, its your task, just curious if it gets any better with the mentioned changed. |
Yeah, we can do that for sure 🚀 |
Thank Hanno! Assigned you Wojti, this will be in good hands 🙇 |
From a fast check, when opening the personal details, this line executes: App/src/libs/actions/PersonalDetails.js Line 371 in 7770b86
ONYXKEYS.PERSONAL_DETAILS_LIST , which causes a huge amount of rerenders, slowing down the app. @hannojg could you check if applying both your PR to onyx and this one: #21406 makes it perform much better? Hopefully your PR introduces better caching for this part also 🚀
|
@WoLewicki Thank, I think there is lots of things happening at once now to improve the performance, but it would still be great to profile this flow to see whats the bottleneck. Let us know how that goes |
@WoLewicki I commented it in the wrong place, so here is it posted again:
|
That's nice. Did you check if reopening the profile again makes that numbers smaller? I believe there shouldn't be any/much more info coming with each update of |
Will check that by tomorrow! |
Not overdue |
@WoLewicki Let us know if you will have any updates. |
I created a PR with two probable improvements. I am not sure about the second one (https://github.com/Expensify/App/pull/26217/files#diff-fbf18141daa663ca1e0398aa28431fc6268fec4405b4d231bbdb76a29d595aaaR66), but since only those 2 fields seem to be used in the binded methods, there should be no need to provide new context values if they did not change. It fixes the whole app rerendering each time we open the personal details. @mountiny could I get more information about the |
I added memoization of |
@mountiny Does this require C+ review? |
@mananjadhav yeah, you can also revie the pr then What do you think of @WoLewicki proposal? |
I think we can use @WoLewicki's proposal to reduce the number of renders. This would work. Looking at the PR now. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.71-12 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2023-09-27. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
For reference, here are some details about the assignees on this issue:
As a reminder, here are the bonuses/penalties that should be applied for any External issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@NicMendonca I believe we just need to pay $1000 to Manan as this was before the payment change No checklist needed as this was performance improvement |
@mananjadhav remind me, do you request payment via Expensify, or Upwork? Thanks! |
@NicMendonca I'll raise it via Expensify. |
Thank you! |
$1,000 approved for payment to @mananjadhav based on BZ summary. |
Problem
When opening the RHP and pages within, there is many more re-renders happening than necessary. #21049 (comment)
This leaves us with sometimes janky animation in the RHP as there is big load for the app #21049 (comment)
Solution
Investigate why there is so many re-renders and find ways to reduce them to as few as possible.
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: