-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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 Confirmation from plaid bank flow #48767
Remove Confirmation from plaid bank flow #48767
Conversation
53c8d77
to
d773367
Compare
@ishpaul777 You can start testing it now and let me know if something is off. I am thinking to add videos when you give a signal. |
## Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2024-09-16.at.9.58.23.PM-1.movScreen.Recording.2024-09-16.at.10.07.20.PM-1.movAndroid: mWeb ChromeUploading Screen Recording 2024-09-16 at 10.24.18 PM-1.mov… iOS: NativeScreen.Recording.2024-09-16.at.9.39.50.PM.moviOS: mWeb SafariScreen.Recording.2024-09-16.at.9.44.59.PM.movMacOS: Chrome / SafariScreen.Recording.2024-09-09.at.4.21.08.PM.movScreen.Recording.2024-09-09.at.4.50.06.PM.movScreen.Recording.2024-09-16.at.9.13.14.PM.movMacOS: DesktopScreen.Recording.2024-09-16.at.10.24.18.PM-1.mov |
Bug: [Desktop] after adding a account and clicking next shows error for first time Screen.Recording.2024-09-08.at.8.29.19.PM.movedit: reproducable on web also Can't reproduce on main |
I noticed this error too. It is very strange issue. It is happening because the first time bank account details is not being sent to backend. it seems that the second render populates the bank account values. We call onNext directly after setting the account in the draft in the Plaid step https://github.com/parasharrajat/App/blob/88cb276d8df9e22d1dc1b1fdec6d98e486fee641/src/pages/ReimbursementAccount/BankInfo/substeps/Plaid.tsx#L55 . It called onfinished https://github.com/parasharrajat/App/blame/88cb276d8df9e22d1dc1b1fdec6d98e486fee641/src/pages/ReimbursementAccount/BankInfo/BankInfo.tsx#L63 directly with the old callback which does not have correct bank account values. What do you suggest we do to solve this? |
Haven't tried and tested this yet myself but Can we try pass correct details in submit (onfinished) from params onNext(correctdetails)-> onfinished(correctDetails) -> submit(correctDetails) |
@ishpaul777 Fixed that issue. Could you please check? |
Nice it looks good and works well Screen.Recording.2024-09-09.at.4.21.08.PM.movlets remove the unused Confirmation component also |
I guess we have a similar issue with manual flow, first time next button dont work Screen.Recording.2024-09-09.at.4.42.34.PM.mov |
@parasharrajat Any update ^ |
I don't have this issue when I use the manual flow directly. I am trying to reproduce the exact scenario from your video. Do you have steps for it? |
Steps to repro:
|
Should this be converted to an open PR in review at this point? |
This is happening due to same reason. I try to find a solution which does not break existing substeps flow but couldn't figure out a direct way. Here is the summary:
Are there any patterns that we use to solve such issues? @ishpaul777 Do you have any suggestions on it? |
I am sorry but i dont agree with this root cause, with my investigation it appears that isEditing is true here when we click Next the first time thats why it early return and never call submit App/src/hooks/useSubStep/index.ts Lines 26 to 32 in fe4d19e
its turned true from here, moveTo() call App/src/pages/ReimbursementAccount/BankInfo/BankInfo.tsx Lines 107 to 111 in fe4d19e
I am not sure the correct solution to this for now, i'll keep investigating though let me knw if you find any... |
Thanks for the help. I will debug this again. |
May be we should just remove the substeps logic all along from this screen. |
@ishpaul777 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 tried removing this substeps flow from this component but I am not sure the use of this effect. How to handle this? I have pushed the latest changes so that you can take a look. |
@parasharrajat if you havent noticed perf tests is failing |
Looks like a patching issue. A patch is not being applied correctly. |
Remerge main maybe a one time issue ? |
Tests all good, we just need to figure out failing tests |
I am stuck with the account verification step. it is asking for 3 transaction values. |
Did you put in |
Nope. I will try that. |
@parasharrajat, can you merge the main? The patch was not applied correctly in the test but I can see the action succeed on other PRs |
Now, this new check is failing 🤔 . |
the migration 😆 withOnyx -> useOnyx https://expensify.slack.com/archives/C01GTK53T8Q/p1726169039084589 |
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.
Changes look good to me have you tested this after the useOnyx migration @ishpaul777 @parasharrajat?
} | ||
}, [setupType, values, bankAccountID, policyID]); | ||
const submit = useCallback( | ||
(submitData: unknown) => { |
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.
Any way we could improve this type? @koko57 @blazejkustra @fabioh8010
It was quite a lot of changes so would be great to confirm that it works well Thanks for working on this @parasharrajat @ishpaul777 |
Sorry i left yesterday, testing in few minutes... |
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!
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 everyone!
✋ 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/mountiny in version: 9.0.37-0 🚀
|
@parasharrajat Can you explain the step 1
|
@m-natarajan the beta is no longer relevant, you can use any account and you should be able to enable the cards there |
🚀 Deployed to production by https://github.com/grgia in version: 9.0.38-4 🚀
|
Details
Fixed Issues
$ #48730
$ #48732
PROPOSAL:
Tests
Same as QA steps.
Offline tests
Sign up with a Gmail account added to Workspace feeds beta
Enable Expensify Card in more features
Select Issue card to kick off the enablement flow.
Start setup using credentials from option 3 in the SO.
For Plaid flow.
For manual Flow.
Finish the bank account flow.
Go through the issue card flow, and land on the card name step.
verify that the cad name field is not prefilled with a suggestion.
QA Steps
Sign up with a Gmail account added to Workspace feeds beta
Enable Expensify Card in more features
Select Issue card to kick off the enablement flow.
Start setup using credentials from option 3 in the SO.
For Plaid flow.
For manual Flow.
Finish the bank account flow.
Go through the issue card flow, and land on the card name step.
verify that the cad name field is not prefilled with a suggestion.
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)/** comment above it */
this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)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: mWeb Chrome
iOS: Native
iOS: mWeb Safari
16.09.2024_23.05.52_REC.mp4
MacOS: Chrome / Safari
16.09.2024_22.43.14_REC.mp4
16.09.2024_23.02.21_REC.mp4
MacOS: Desktop