Closed m-natarajan closed 3 weeks ago
Triggered auto assignment to @dylanexpensify (Bug
), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.
Job added to Upwork: https://www.upwork.com/jobs/~021838883742527613450
Triggered auto assignment to Contributor-plus team member for initial proposal review - @akinwale (External
)
To resolve this issue, you should ensure that the resendTransaction method is correctly defined and implemented in the appropriate file within your codebase, and that the import statement or class extension is set up correctly if it is inherited from a parent class or imported from a library. You should also ensure that there are no typos or errors in the method name, and that all required dependencies are correctly installed and referenced.
📣 @Ace0328! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
Email:davidhe791@gmail.com Upwork Profile link:https://www.upwork.com/freelancers/~017675b79a86fc30f6
@.*** Upwork Profile link:https://www.upwork.com/freelancers/~017675b79a86fc30f6
Message ID: @.***>
@m-natarajan Hi. The issue does not reproducible with the steps described in Action Performed: section. There is not a button with the "Pay $xx with Expensify" label . Could you provide a video showing the entire flow of actions?
We're disabling the wallet options for the expense report. Hence we don't see "Pay with Expensify" for the workspace payments.
After clicking the "Pay with Expensify" option and selecting the "Business Bank Account", we move the payment to a new workspace and the payment type becomes CONST.REPORT.TYPE.EXPENSE
. The "Pay with Expensify" option is dependent on the "canUseWallet" as shown in the code below.
The flag canUseWallet
is false isExpenseReport
is true which is in our case.
isExpenseReport
check from the condition. The flag will now be conditioned as:const canUseWallet = !isInvoiceReport && currency === CONST.CURRENCY.USD;
@akinwale, @dylanexpensify Eep! 4 days overdue now. Issues have feelings too...
I just retested this. Another way to make the Pay with Expensify
option disappear is to just exit out of the Plaid flow. I was testing this flow, realized I wasn't on staging so reloaded on staging and Pay Elsewhere
was the only option
@mananjadhav's proposal looks good to me. However, before proceeding, I'd like the assigned engineer to confirm that the user can use the wallet if its an expense report?
🎀 👀 🎀 C+ reviewed
Triggered auto assignment to @neil-marcellini, see https://stackoverflow.com/c/expensify/questions/7972 for more details.
Hm, I don't think the wallet has anything to do with expense reports, that's a P2P IOUReport feature.
I actually think the crux of the problem is that the workspace created has reimbursementChoice=manual
on creation because a VBBA hasn't been added to the workspace successfully yet to set that to reimbursementChoice=yes
for in-app payments on workspaces.
So we need to decide if we want to show the "Pay with Expensify" button in the dropdown for USD workspaces if reimbursementChoice=manual
. If that option in the pay button is clicked, launch the connect bank account VBBA flow, and when successfully added it will update to reimbursementChoice=yes
.
CC: @JmillsExpensify I think we should do this, but let me know what you think.
Hm, I don't think the wallet has anything to do with expense reports, that's a P2P IOUReport feature.
Agreed
So we need to decide if we want to show the "Pay with Expensify" button in the dropdown for USD workspaces if reimbursementChoice=manual. If that option in the pay button is clicked, launch the connect bank account VBBA flow, and when successfully added it will update to reimbursementChoice=yes.
Also agree here. Let's do it.
Ok. @allroundexperts @mananjadhav would you please investigate Tom's theory for the root cause and come up with a solution that doesn't relate to changing the canUseWallet permissions? Maybe that's actually a poor variable name in the code? Please update your proposal and let us know.
We are still seeking new proposals.
I don't have the context for this, but I'll look up and propose a solution.
TY @mananjadhav!
Haha, thanks!
On Fri, Oct 4, 2024 at 1:55 AM Dylan Courtney @.***> wrote:
TY @mananjadhav https://github.com/mananjadhav!
— Reply to this email directly, view it on GitHub https://github.com/Expensify/App/issues/49576#issuecomment-2393189368, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKIVFGBPIV6MW2LJO3USDCTZZZJZNAVCNFSM6AAAAABOUTD4Y2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJTGE4DSMZWHA . You are receiving this because you were mentioned.Message ID: @.***>
@neil-marcellini @allroundexperts @dylanexpensify this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!
@mananjadhav any updates?
bump @mananjadhav
Sorry I didn't get a chance to check this yet. I'll try to by tomorrow. I am not aware about the reimbursementChoice, so I'll need to check the code and workout a solution.
@neil-marcellini, @allroundexperts, @dylanexpensify Eep! 4 days overdue now. Issues have feelings too...
Okay I tried following @trjExpensify's comment here. I was unnecessarily complicating it thinking we need to update the reimbursementChoice when we start the bank flow.
So we need to decide if we want to show the "Pay with Expensify" button in the dropdown for USD workspaces if reimbursementChoice=manual.
If we're good with this, then the only change we need to make is this line
We should remove policy?.reimbursementChoice !== CONST.POLICY.REIMBURSEMENT_CHOICES.REIMBURSEMENT_MANUAL
check and that should work. I'll write up a formal proposal.
https://github.com/user-attachments/assets/2ac7c1ae-29ee-409c-ae2d-4163617aaaa5
We're disabling the wallet options in the workspace chat. Hence we don't see "Pay with Expensify".
After clicking the "Pay with Expensify" option and selecting the "Business Bank Account", we move the payment to a new workspace. By default the reimbursementChoice
is manual for the workspace. In the code below, Pay with Expensify option is hidden if the reimbursementChoice
is manual..
So we need to decide if we want to show the "Pay with Expensify" button in the dropdown for USD workspaces if reimbursementChoice=manual.
Based on the previous comment here, then the only change we need to make is this line
We should remove policy?.reimbursementChoice !== CONST.POLICY.REIMBURSEMENT_CHOICES.REIMBURSEMENT_MANUAL
check and that should work. I have attached the video in the previous comment.
NA
When REIMBURSEMENT_NO
is the reimbursementChoice
for say a track user just categorising their receipts on a workspace, wouldn't we end up showing the Pay with Expensify
button or is that logic elsewhere?
tl;dr, REIMBURSEMENT_NO
is taken care of by evaluating outside the component and passed in as props.
Explanation:
The settlement button payment options has two conditions. One about manual that I mentioned, second is the prop shouldHidePaymentOptions
If we check the props being passed in ReportPreview
, you'll see it's dependent on shouldShowPayButton
.
The shouldShowPayButton
is then defined using canIOUBePaid
where the check for REIMBURSEMENT_NO
exists.
Thanks, I'll check it out!
On Tue, Oct 15, 2024 at 9:54 AM Manan @.***> wrote:
tl;dr, REIMBURSEMENT_NO is taken care of by evaluating outside the component and passed in as props.
Explanation:
The settlement button payment options has two conditions. One about manual that I mentioned, second is the prop shouldHidePaymentOptions
If we check the props being passed in ReportPreview, you'll see it's dependent on shouldShowPayButton.
The shouldShowPayButton is then defined https://github.com/Expensify/App/blob/7746ea31493d47aa779797e1df1e0e76d2d6ed0d/src/components/ReportActionItem/ReportPreview.tsx#L324 using canIOUBePaid where the check for REIMBURSEMENT_NO exists.
— Reply to this email directly, view it on GitHub https://github.com/Expensify/App/issues/49576#issuecomment-2414541393, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKIVFGDV2GBMZULTRFS3NY3Z3VCFDAVCNFSM6AAAAABOUTD4Y2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJUGU2DCMZZGM . You are receiving this because you were mentioned.Message ID: @.***>
tl;dr, REIMBURSEMENT_NO is taken care of by evaluating outside the component and passed in as props.
Great then!
@allroundexperts can you progress the review today? Let's get this fixed!
Sure thing!
How'd you get on?
My day hasn't finished yet 😄. I'll review this shortly in about 2 hours.
Okay. I managed to check @mananjadhav's proposal. Given we have an agreement that we should show the Pay with Expensify
regardless if the reimbursementChoice is manual or not, @mananjadhav's proposal of removing the condition should work well. Let's go with there proposal.
🎀 👀 🎀 C+ reviewed
Current assignee @neil-marcellini is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new.
Triggered auto assignment to @joekaufmanexpensify (Bug
), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.
Hey @joekaufmanexpensify! I'm heading out on parental leave so reassigning this! TY!
Sure, happy to help!
@neil-marcellini @allroundexperts @joekaufmanexpensify this issue is now 4 weeks old, please consider:
Thanks!
I think we're just waiting for @neil-marcellini to sign off on the selected proposal above
Dm'ed Neil about proposal
Okay. I managed to check @mananjadhav's proposal. Given we have an agreement that we should show the
Pay with Expensify
regardless if the reimbursementChoice is manual or not, @mananjadhav's proposal of removing the condition should work well. Let's go with there proposal.🎀 👀 🎀 C+ reviewed
Sounds good to me.
Thanks, will raise the PR.
Great. TY!
Pending PR
Will be pushed in 2-3 hours, just testing changes locally.
Sounds great. TY!
PR in review
Reviewing
label has been removed, please complete the "BugZero Checklist".
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 9.0.39-0 Reproducible in staging?: Y Reproducible in production?: Y If this was caught during regression testing, add the test name, ID and link from TestRail: Email or phone of affected tester (no customers): Logs: https://stackoverflow.com/c/expensify/questions/4856 Expensify/Expensify Issue URL: Issue reported by: @ryanschaffer Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1726864011581859
Action Performed:
Pay Elsewhere
Expected Result:
If you try to restart the payment flow a 2nd time, it works the same it did the first time.
Actual Result:
The 2nd time, you don’t get the
Pay with Expensify
option and only thePay Elsewhere
option is available.Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
https://github.com/user-attachments/assets/05e88105-baa0-41ad-995e-04105b40df5d
Add any screenshot/video evidence
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @joekaufmanexpensify