-
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
Remove MoneyRequestSelectorPage.js and copy any changes since Nov 27 into IOURequestStartPage.js. #35455
Remove MoneyRequestSelectorPage.js and copy any changes since Nov 27 into IOURequestStartPage.js. #35455
Conversation
…into IOURequestStartPage.js. Signed-off-by: Krishna Gupta <[email protected]>
@hoangzinh 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] |
I'm still working on this to make sure it doesn't cause any regression... |
@Krishna2323 Please take a look at send money flow |
@DylanDylann, what do you mean by it? I know there is issue in the whole flow and I'm already trying to handle it, you can check the changes. |
Signed-off-by: Krishna Gupta <[email protected]>
Signed-off-by: Krishna Gupta <[email protected]>
@hoangzinh, can you pls review this once. |
I see that the PR is not ready yet, the checklist is not completed and recordings as well. |
@hoangzinh, screenshots added and checklist is also complete, you can review now. |
const shouldShowDate = (shouldShowSmartScanFields || isDistanceRequest) && !isTypeSend; | ||
const shouldShowMerchant = shouldShowSmartScanFields && !isDistanceRequest && !isTypeSend; |
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.
could you explain why do we have those changes?
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 we don't show date & merchant option when sending.
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.
could you share any ref link (for example GH issue/discussion) so I can cross-check? Thanks
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.
Current send flow also don't allow merchant and date, I just copied this from old component.
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.
@Krishna2323 nice. Could you share the link to that code from the old component? Thanks
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.
Thanks @Krishna2323 in meanwhile, could you fix the TS error? THanks
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.
@DylanDylann can you pls update here.
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.
could you quickly check if we need to copy any changes from MoneyRequestConfirmPage => IOURequestStepConfirmation
Yes, we need to do that
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.
@hoangzinh bump
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.
@Krishna2323 according to his PR here https://github.com/Expensify/App/pull/35461/files#diff-5e4afd2b33b309cd8b0ddee94902568e7abbcf32a83df362df5555767816ac71 It appears that there is no updates from MoneyRequestConfirmPage. So I think we're good to go. What do you think?
src/pages/iou/request/MoneyTemporaryForRefactorRequestParticipantsSelector.js
Outdated
Show resolved
Hide resolved
…a2323/remove/redundant/34613
…a2323/remove/redundant/34613
Signed-off-by: Krishna Gupta <[email protected]>
Signed-off-by: Krishna Gupta <[email protected]>
Signed-off-by: Krishna Gupta <[email protected]>
Signed-off-by: Krishna Gupta <[email protected]>
Please merge latest main to solve TS failed |
Sorry for delay @Krishna2323, I will continue to review today |
Just a few feedbacks, otherwise looks great. |
Signed-off-by: Krishna Gupta <[email protected]>
Tested the flow again, seems to work fine. cc: @hoangzinh |
Bug 1: Unable to select another currency Screen.Recording.2024-03-11.at.22.30.59.mov |
@hoangzinh can you pls check once again, I can't reproduce the bug you mentioned. Monosnap.screencast.2024-03-12.17-10-32.mp4 |
You're right. Relogin seem fix the issue |
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2024-03-12.at.22.20.51.android.movAndroid: mWeb ChromeScreen.Recording.2024-03-12.at.22.18.50.android.chrome.moviOS: NativeScreen.Recording.2024-03-12.at.22.16.46.ios.moviOS: mWeb SafariScreen.Recording.2024-03-12.at.22.15.56.ios.safari.movMacOS: Chrome / SafariScreen.Recording.2024-03-12.at.22.09.03.web.movMacOS: DesktopScreen.Recording.2024-03-12.at.22.12.13.desktop.mov |
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.
LGTM
We did not find an internal engineer to review this PR, trying to assign a random engineer to #34613 as well as to this PR... Please reach out for help on Slack if no one gets assigned! |
❗❗ Heads up, I'm going to be OOO working from Spain 🇪🇸 part time until 3/28. Most days I will be working 50%, some days 100%. Please DM me if something needs urgent attention.❗❗ |
@neil-marcellini could you help to review this PR as it's blocking a few other issues? Thanks |
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.
I looked over all the changes and they look good. I think there should be more tests for split, as well as editing currency and waypoints during creation and after the request has been created. That doesn't need to be a blocker either since QA should catch a lot of this, but it would be wise to test now.
I'm going to request a review from @tgolen since he is familiar with this stuff.
NAB: Remove the mention of MoneyRequestSelectorPage as mentioned in your proposal.
@@ -43,7 +43,16 @@ function IOURequestStepParticipants({ | |||
const numberOfParticipants = useRef(participants.length); | |||
const iouRequestType = TransactionUtils.getRequestType(transaction); | |||
const isSplitRequest = iouType === CONST.IOU.TYPE.SPLIT; | |||
const headerTitle = isSplitRequest ? translate('iou.split') : translate(TransactionUtils.getHeaderTitleTranslationKey(transaction)); | |||
const headerTitle = useMemo(() => { |
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.
NAB: Why do we have useMemo
here but not on the confirmation step?
let nextStepIOUType; | ||
|
||
if (isSplit && iouType !== CONST.IOU.TYPE.REQUEST) { | ||
nextStepIOUType = CONST.IOU.TYPE.SPLIT; | ||
} else { | ||
nextStepIOUType = iouType === CONST.IOU.TYPE.SEND ? CONST.IOU.TYPE.SEND : CONST.IOU.TYPE.REQUEST; | ||
} | ||
|
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.
NAB: I'm not familiar with this code. Would you please explain why this logic is needed and why the selectedIouType can not be passed to the navigate function directly?
@@ -18,6 +18,7 @@ import type {PublicScreensParamList} from '@libs/Navigation/types'; | |||
import * as Session from '@userActions/Session'; | |||
import CONST from '@src/CONST'; | |||
import ONYXKEYS from '@src/ONYXKEYS'; | |||
import type {Route as Routes} from '@src/ROUTES'; |
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.
NAB: We prefer type names to be singular. exitTo is a Route, not a Routes. Same for Session/index.ts
@Krishna2323 could you do more tests on this suggestion? This is my recording on it Screen.Recording.2024-03-14.at.21.21.24.mp4 |
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.
Looks pretty good! I just noticed this one additional thing.
@@ -109,7 +118,14 @@ function IOURequestStepParticipants({ | |||
const goToNextStep = useCallback( | |||
(selectedIouType) => { | |||
const isSplit = selectedIouType === CONST.IOU.TYPE.SPLIT; | |||
const nextStepIOUType = !isSplit && iouType !== CONST.IOU.TYPE.REQUEST ? CONST.IOU.TYPE.REQUEST : iouType; | |||
let nextStepIOUType; |
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.
NAB: It might be a little better to default this to CONST.IOU.TYPE.REQUEST
and then you can remove the ternary below.
@Krishna2323 there are some conflicts now |
Signed-off-by: Krishna Gupta <[email protected]>
6c6ed85
@neil-marcellini, I don't see any conflicts. BTW I pushed this commit to handle NAB suggestions. |
✋ 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: 1.4.54-0 🚀
|
@neil-marcellini Do you know how can I test |
🚀 Deployed to production by https://github.com/AndrewGable in version: 1.4.54-4 🚀
|
Details
Fixed Issues
$ #34613
PROPOSAL: #34613 (comment)
Tests
Press on the + button
Choose Request money
For each tab complete a request and verify everything works correctly
Press on the + button
Choose Send money
Complete the flow & verify everything works correctly
Go to any 1:1 report
Click on + button in the composer
Choose Request money
For each tab complete a request and verify everything works correctly
Go to any 1:1 report
Click on + button in the composer
Choose Send money
Complete the flow & verify everything works correctly
Offline tests
Same as tests
QA Steps
Same as tests
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
android_native.mp4
Android: mWeb Chrome
android_chrome.mp4
iOS: Native
ios_native.mp4
iOS: mWeb Safari
ios_safari.mp4
MacOS: Chrome / Safari
web_chrome.mp4
MacOS: Desktop
desktop_app.mp4