-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[Guided Setup Stage 3] Update the Pay w/ Expensify selectors #45264
[Guided Setup Stage 3] Update the Pay w/ Expensify selectors #45264
Conversation
merge main into @cdOut/guided-3-pay-selectors
@DylanDylann 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] |
@cdOut Could you provide a video about the result? |
@cdOut bump on this comment |
@DylanDylann we're currently blocked with this as there is some problem with how the app functions when opening from an invite link, you can check it out on main and it does not function as it should on staging. We've started a discussion in the issue for this PR with Scott and I'll update you after it gets resolved. |
@cdOut Yeah, please ping me when everything is ready. Thanks |
@@ -7389,6 +7403,40 @@ function cancelPayment(expenseReport: OnyxEntry<OnyxTypes.Report>, chatReport: O | |||
); | |||
} | |||
|
|||
function completePaymentOnboarding(paymentSelected: ValueOf<typeof CONST.PAYMENT_SELECTED>) { |
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.
Let's add a JSDoc explaining what the function does
@cdOut I still get some problems with the Android build. Could you help to test on Android? |
I can take a look, native android or mWeb? |
It is native android |
@DylanDylann It must be something on your end regarding your android studio configuration, I was able to build and run the app natively as you can see below. ANDROID.low.res.mov |
I built successfully. Also work for me on Android Screen.Recording.2024-09-05.at.17.19.19.mov |
@deetergp All yours |
I've been trying to test this today, but it seems the invoice invite flow is broken again. I'm trying to figure it out and fix it… |
It's unfortunate that we can't test invoice invites right now, but this PR isn't the culprit. The changes look good, so I'm going to approve & merge. Thanks for the hard work @cdOut! 👍 |
Damn, you've got a merge conflict, @cdOut. Looks pretty easily resolved. |
@deetergp merge conflicts resolved, PRs all yours 👍 |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
This PR is failing for Web because of issue #48916 |
@cdOut @blazejkustra @deetergp @DylanDylann We're seeing this crash on Firebase. Could you please take a look?
|
@luacmartins is there any context on when this happened? What steps did you take for this warning to arise? |
Alright so I haven't been able to reproduce the issue yet, but there's two points where something can go wrong to make this error happen. After opening the app through the invite link we should be sent an object into Onyx from backend for Next up we use the I'll try to see whether I can replicate this issue locally for myself, could you also please provide some more details if there are any, such as if this is happening just for newDot or is this on the hybridApp, or anything else that could be helpful here? |
After looking at all the possibilities I think we didn't properly consider the difference between what Onyx data there is for old and new accounts. The problem is in this check in
This logic works perfectly for how we handle new accounts, but when I went back to one of my old accounts it turns out we sometimes have a value for Screen.Recording.2024-09-11.at.13.09.00.movFirst of all this flow shouldn't trigger here at all, but on top of that we receive and possibly send over faulty data which possibly triggered this error. We need to add an additional check in the code block above to check whether the value received in |
No, sorry. All I got are those logs. |
@cdOut On the back end, we set an |
@deetergp so what would you suggest we should check for to only ever trigger the non-organic payment onboarding for email invites and not old accounts that sometimes pass this check?
My old accounts had the choice value set for some reason even though they were created way before the onboarding was implemented so they went through this if and trigger the flow on every payment. |
@cdOut Were those accounts invited or did you create them in OldDot or NewDot? |
Details
Added logic for sending onboarding messages through concierge after sign-in through a magic link sent via email for pay with expensify selectors (IOU / Invoice).
Fixed Issues
$ #45045
PROPOSAL:
Tests
Payment via VBBA:
Payment via Elsewhere:
Offline tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.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 and/or tagged@Expensify/design
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
MacOS: Chrome / Safari
IOU / Invoice PBA
WEB.PBA.low.res.mov
IOU / Invoice BBA
WEB.BBA.low.res.mov