Skip to content
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

[HOLD for payment 2024-01-26] [HOLD for payment 2024-01-25] Cancel payment-Add receipt and Delete request options are present after canceling Send money payment #33517

Closed
6 tasks done
lanitochka17 opened this issue Dec 22, 2023 · 13 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Engineering Monthly KSv2 Not a priority

Comments

@lanitochka17
Copy link

lanitochka17 commented Dec 22, 2023

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: 1.4.16-4
Reproducible in staging?: Y
Reproducible in production?: N
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: Applause - Internal Team
Slack conversation:

Action Performed:

  1. Go to 1:1 DM > + > Send money
  2. Send the money
  3. Click on the IOU preview in the main chat
  4. Click 3-dot menu > Cancel payment > Cancel payment
  5. Click on the IOU preview to open IOU details page
  6. Click 3-dot menu
  7. Click Add receipt
  8. Click Delete request

Expected Result:

"Add receipt" and "Delete request" options should not be present for Send money request

Actual Result:

"Add receipt" and "Delete request" options are present for Send money request
"Add receipt" button does nothing
"Delete request" results in the IOU preview to become skeleton placeholder in IOU report and TBD in the main chat

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

Bug6324213_1703269667288.bandicam_2023-12-23_01-10-17-738.mp4

View all open jobs on GitHub

@lanitochka17 lanitochka17 added the DeployBlockerCash This issue or pull request should block deployment label Dec 22, 2023
Copy link
Contributor

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

Copy link

melvin-bot bot commented Dec 22, 2023

Triggered auto assignment to @srikarparsi (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@paultsimura
Copy link
Contributor

paultsimura commented Dec 22, 2023

Proposal

Please re-state the problem that we are trying to solve in this issue.

After canceling the "Send Money" request, it starts to behave as a regular Manual request.

What is the root cause of that problem?

This is because we do not differentiate between a Manual and "Send" requests. We've always been checking for the request to be settled, like for the header here – we show the "editing" items in the 3-dots menu based on this condition:

const canModifyRequest = isActionOwner && !isSettled && !isApproved && !ReportActionsUtils.isDeletedAction(parentReportAction);

And after canceling, the "Send" request becomes unsettled.

What changes do you think we should make in order to solve the problem?

I think it's important to differentiate all the IOU requests by populating their transaction or the Money Request Report with an iouType (and maybe the requestType) when placing the request:

App/src/CONST.ts

Lines 1172 to 1181 in d912bf1

TYPE: {
SEND: 'send',
SPLIT: 'split',
REQUEST: 'request',
},
REQUEST_TYPE: {
DISTANCE: 'distance',
MANUAL: 'manual',
SCAN: 'scan',
},

And we should change the logic in places where we differentiated requests only by the isSettled status to check the iouType as well.

Otherwise, not only the unwanted items appear in the 3-dots menu but also the canceled "Send" IOU behaves as "Owes":

image

What alternative solutions did you explore? (Optional)

@melvin-bot melvin-bot bot added the Overdue label Dec 25, 2023
@mountiny
Copy link
Contributor

Reverting the original PR because it has caused numerous deploy blockers and the author is ooo

@mountiny mountiny added Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Dec 25, 2023
@melvin-bot melvin-bot bot removed the Overdue label Dec 25, 2023
@mountiny mountiny assigned Gonals and unassigned srikarparsi Dec 25, 2023
@mountiny
Copy link
Contributor

PR reverted, Assigning @Gonals so you can track this issue and fix it in next iteration

@Gonals Gonals added Monthly KSv2 and removed Daily KSv2 labels Dec 27, 2023
@Gonals
Copy link
Contributor

Gonals commented Dec 27, 2023

Setting it as monthly, as this is no longer happening (but I want it open to keep track)

@Gonals
Copy link
Contributor

Gonals commented Dec 28, 2023

The root of this is that we shouldn't really allow Cancel Payment for IOUs, just for expenses 😁, and there is no "Send money" for expenses

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Monthly KSv2 labels Jan 2, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jan 15, 2024
Copy link

melvin-bot bot commented Jan 17, 2024

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jan 18, 2024
@melvin-bot melvin-bot bot added the Awaiting Payment Auto-added when associated PR is deployed to production label Jan 18, 2024
@melvin-bot melvin-bot bot changed the title Cancel payment-Add receipt and Delete request options are present after canceling Send money payment [HOLD for payment 2024-01-25] Cancel payment-Add receipt and Delete request options are present after canceling Send money payment Jan 18, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Jan 18, 2024
Copy link

melvin-bot bot commented Jan 18, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

Copy link

melvin-bot bot commented Jan 18, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.26-2 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2024-01-25. 🎊

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jan 19, 2024
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2024-01-25] Cancel payment-Add receipt and Delete request options are present after canceling Send money payment [HOLD for payment 2024-01-26] [HOLD for payment 2024-01-25] Cancel payment-Add receipt and Delete request options are present after canceling Send money payment Jan 19, 2024
Copy link

melvin-bot bot commented Jan 19, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.27-1 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2024-01-26. 🎊

@melvin-bot melvin-bot bot added the Overdue label Jan 29, 2024
@melvin-bot melvin-bot bot removed the Weekly KSv2 label Feb 12, 2024
Copy link

melvin-bot bot commented Feb 12, 2024

This issue has not been updated in over 15 days. @Gonals eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

@melvin-bot melvin-bot bot added Monthly KSv2 and removed Overdue labels Feb 12, 2024
@melvin-bot melvin-bot bot added the Overdue label Mar 14, 2024
Copy link

melvin-bot bot commented Apr 25, 2024

@Gonals, this Monthly task hasn't been acted upon in 6 weeks; closing.

If you disagree, feel encouraged to reopen it -- but pick your least important issue to close instead.

@melvin-bot melvin-bot bot closed this as completed Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Engineering Monthly KSv2 Not a priority
Projects
None yet
Development

No branches or pull requests

5 participants