Repository navigation
page not found when click new submit expense - #45567
Conversation
|
@thesahindia 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: NativeScreen.Recording.2024-07-18.at.11.36.15.PM.movAndroid: mWeb ChromeScreen.Recording.2024-07-19.at.12.52.56.AM.moviOS: NativeScreen.Recording.2024-07-19.at.1.51.28.AM.moviOS: mWeb SafariScreen.Recording.2024-07-19.at.1.50.09.AM.movMacOS: Chrome / SafariScreen.Recording.2024-07-18.at.11.25.44.PM.movMacOS: DesktopScreen.Recording.2024-07-18.at.11.28.23.PM.mov |
|
@nkdengineer reassure has been fixed on main. Can you please merge main? |
|
hmmm looks like this might be a legitimate regression causing an extra render in ReportActionCompose |
|
Let me check again. |
|
@nkdengineer, what you just did here isn't a good practice. You proposed that you will be solving two issues but ended up only fixing one.
The fix for the first issue caused a regression and you reverted it back without any explanation. cc: @roryabraham for thoughts |
|
@thesahindia Sorry, I missed to give some updates.
|
Thanks for letting us know
I agree that your approach is better but rejecting Shridher's proposal only based on that would have been wrong. I selected your proposal because it was also adding an improvement. Let's find a solution for that issue. |
|
@roryabraham I checked the perf-test again and the only problem is |
|
@roryabraham The perf-test is fixed by only comparing the length of |
|
No, I don't think just checking the length of |
|
I'm not sure that one extra render in Composer should be treated as a blocker though. We can always merge through failing Reassure if we agree it's an acceptable cost to fix the bug |
| export default React.memo( | ||
| PopoverMenu, | ||
| (prevProps, nextProps) => | ||
| !lodashIsEqual(prevProps.menuItems, nextProps.menuItems) && |
There was a problem hiding this comment.
@roryabraham In the past we didn't re-render if the menuItems is changed so I think it's fine if we only compare the length of menuItems here.
Or If we agree with more re-rendering, I will add the previous change back.
There was a problem hiding this comment.
In the past we didn't re-render if the menuItems is changed
What makes you say that? It looks like it was using a deep equality comparison in the React.memo?
There was a problem hiding this comment.
@roryabraham Because we used !lodashIsEqual(prevProps.menuItems, nextProps.menuItems) not lodashIsEqual(prevProps.menuItems, nextProps.menuItems)
There was a problem hiding this comment.
Pretty sure !lodashIsEqual was a bug before, since the 2nd arg to React.memo should return true if the props are equal
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Cherry-picked to staging by https://github.com/roryabraham in version: 9.0.14-1 🚀
@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes. |
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.0.14-6 🚀
|

Details
Fixed Issues
$ #44924
PROPOSAL: #44924 (comment)
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))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
android.mov
Android: mWeb Chrome
ios-mweb.mov
iOS: Native
ios.mov
iOS: mWeb Safari
ios-mweb.mov
MacOS: Chrome / Safari
web.mov
MacOS: Desktop
desktop.mov