Fix route in distance editor doesn't load after fresh sign in#45139
Fix route in distance editor doesn't load after fresh sign in#45139neil-marcellini merged 4 commits intoExpensify:mainfrom
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-10.at.8.57.24.PM.movAndroid: mWeb ChromeScreen.Recording.2024-07-10.at.8.48.53.PM.moviOS: NativeScreen.Recording.2024-07-10.at.9.14.28.PM.moviOS: mWeb SafariSimulator.Screen.Recording.-.iPhone.15.Pro.-.2024-07-10.at.21.10.26.mp4MacOS: Chrome / SafariScreen.Recording.2024-07-10.at.7.33.04.PM.movMacOS: DesktopScreen.Recording.2024-07-10.at.7.27.21.PM.mov |
neil-marcellini
left a comment
There was a problem hiding this comment.
Looks great, just one small defensive change I would like to see.
| const haveValidatedWaypointsChanged = !isEqual(previousValidatedWaypoints, validatedWaypoints); | ||
| const isRouteAbsentWithoutErrors = !hasRoute && !hasRouteError; | ||
| const shouldFetchRoute = (isRouteAbsentWithoutErrors || haveValidatedWaypointsChanged) && !isLoadingRoute && Object.keys(validatedWaypoints).length > 1; | ||
| const shouldFetchRoute = (!transaction?.routes || isRouteAbsentWithoutErrors || haveValidatedWaypointsChanged) && !isLoadingRoute && Object.keys(validatedWaypoints).length > 1; |
There was a problem hiding this comment.
Let's be a bit more precise with this to guard against weird edge cases that might arise. Let's look for (transaction?.routes?.route0?.coordinates ?? []).length or something similar.
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/neil-marcellini in version: 9.0.7-3 🚀
|
|
🚀 Cherry-picked to staging by https://github.com/thienlnam in version: 9.0.7-4 🚀
@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes. |
|
🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.7-8 🚀
|
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.0.8-6 🚀
|

Details
The route coordinate is only saved locally retrieved from GetRoute API. When we log out, the coordinate data is lost, so reopening the distance page won't show the coordinate. This PR fix it by refetching the routes when the routes is empty.
Fixed Issues
$ #44156
PROPOSAL: #44156 (comment)
Tests
Same as QA Steps
Offline tests
Same as QA Steps
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.mp4
Android: mWeb Chrome
iOS: Native
ios.mp4
iOS: mWeb Safari
ios.mweb.mp4
MacOS: Chrome / Safari
web.mp4
MacOS: Desktop
desktop.mp4