-
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
feat: add enable wallet button #29573
Conversation
@robertKozik 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] |
We've got an internal fix for this: https://github.com/Expensify/Web-Expensify/pull/39205
Let's restrict this to just bank accounts, debit cards are not allowed for now.
Could you clarify which messaging? There will be no payments initiated (automatically) but the user can now start initiating payments. Could we also change the default text in the ContinueButton to |
I will make the adjustments shortly.
Sure, I was referring to this text (defined here). If it needs to be changed for this flow, please provide the updated text. |
@samh-nl I assume I should wait for the fix and your adjustment before C+ review? |
Yes, please wait indeed |
Nice catch. Going to add the Update: #29320 (comment) |
I've resolved conflicts and I believe it's ready to be reviewed. There's a problem but possibly outside the scope of this PR (though I'd be happy to look into it): the Wallet page does not refresh when it transitions away from the empty state (i.e. after adding a payment method). This causes the Expensify Wallet section to not immediately appear. Please see the video below. Screen.Recording.2023-10-17.at.11.22.00.mov |
Nice catch, I think this can be outside the scope of your PR. We are looking to redirect the user to the KYC flow after adding a PBA instead of back to the Wallet page: #29726 |
@robertKozik feel free to start on the review for this one 🙏🏼 |
Same error. |
I saw this, i think this is a known issue @MariaHCD |
To skip these steps so you can check if it redirects correctly when finishing the 'enable payments' flow, you can do:
window.Onyx.merge('userWallet', {shouldShowWalletActivationSuccess: true});
window.Onyx.merge('userWallet', {tierName: 'GOLD'}); Ideally of course we can go through the flow fully. |
Looking at the BE logs to see why you both are getting blocked at the additional details step. Update: Got an internal fix - https://github.com/Expensify/Web-Expensify/pull/39314 |
Thanks, let us know when it's deployed. I can't see the status of PRs in that repository. |
Worth mentioning that an issue has already been created for this here. Perhaps that issue should be expedited? There's a couple proposals. |
@samh-nl @allroundexperts The fix has been deployed to staging, please let me know if you're still getting blocked at the additional details step 🙏🏼 |
I realized you both won't be able to test steps 9 - 11 because we do not allow test activated wallets on staging. I will test on dev. @allroundexperts feel free to do the final code review, I'll do the reviewer checklist. |
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.
Code wise, this looks good!
I've pushed a proptype fix:
|
I've updated the checklist and added videos for all platforms. |
Reviewer Checklist
Screenshots/VideosMobile Web - ChromeScreen.Recording.2023-10-19.at.8.41.08.PM.movScreen.Recording.2023-10-19.at.8.40.27.PM.movAndroidXRecorder_19102023_212302.mp4 |
Really don't know why the reviewer checklist check is failing when I clearly have it here. I've retried it multiple times.
Going to merge anyway... |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
feat: add enable wallet button (cherry picked from commit 35920b6)
🚀 Cherry-picked to staging by https://github.com/thienlnam in version: 1.3.87-7 🚀
@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes. |
been trying to test this here but have run into unrelated issues. |
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.87-12 🚀
|
selectPaymentMethod(paymentMethod) { | ||
this.props.onSelectPaymentMethod(paymentMethod); | ||
if (paymentMethod === CONST.PAYMENT_METHODS.BANK_ACCOUNT) { | ||
Navigation.navigate(this.props.addBankAccountRoute); |
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.
Coming from #32906, we should have callled BankAccounts.openPersonalBankAccountSetupView();
to ensure that Plaid data is cleared before Plaid view gets rendered.
Details
Present an 'Enable wallet' button that allows the user to upgrade to a Gold wallet.
Fixed Issues
$ #29320
PROPOSAL: N/A, assigning was discussed via Slack here
Tests
Preconditions: The user must not have enabled the wallet yet and must have no payment method.
Offline tests
Preconditions: The user must not have enabled the wallet yet but must have added a payment method.
QA Steps
Preconditions: The user must not have enabled the wallet yet and must have no payment method.
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
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)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.Native.Screen.Recording.2023-10-19.at.19.16.29.mov
Android: mWeb Chrome
mWeb.Chrome.Screen.Recording.2023-10-19.at.19.20.44.mov
iOS: Native
iOS.Native.Screen.Recording.2023-10-19.at.19.23.41.mov
iOS: mWeb Safari
mWeb.Safari.Screen.Recording.2023-10-19.at.19.27.06.mov
MacOS: Chrome / Safari
Web.Screen.Recording.2023-10-19.at.19.05.40.mov
MacOS: Desktop
Desktop.Screen.Recording.2023-10-19.at.19.32.34.mov