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-06-20] [HOLD for payment 2024-06-18] [$500][Dupe Detection] Surfacing Potential Duplicates #32607

Closed
pecanoro opened this issue Dec 7, 2023 · 49 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item.

Comments

@pecanoro
Copy link
Contributor

pecanoro commented Dec 7, 2023

Part of the project

Main issue: https://github.com/Expensify/Expensify/issues/307591
Doc section: Surfacing Potential Duplicates
Project: [Wave: Collect Approvers] Dupe Detection

UI

image

Feature Description

Update the comment type here since this can be a single string or a full array containing different transactions NVPs. In this case, it looks like this:

image-2024-04-08 10_51_27 803

The HOLD doc implemented the logic to display the HOLD notification for each expense. You can see the details here. However, we need to make the following changes to update the HOLD notification in case it is duplicated.

  • Add a new function called TransactionUtils.isDuplicate(transactionID, checkDismissed) that will check if there is an existing duplicate violation for the given transactionID and has been dismissed:

    • Listen to the transactionViolations_* Onyx key. Remember the key looks like this:
      image

    • Check if the duplicatedTransaction key is set in the above Onyx key for the transaction and return true only if the following condition is not met:

      • Since the violation could have been dismissed, check if the corresponding transactions_* key contains an entry for the current user:
        image-2024-04-08 10_51_27 803
  • Add a new condition to ReportUtils.isOnHold to see if the transaction is a duplicate by calling TransactionUtils.isDuplicate(transactionID, true).

  • In components/ReportActionItem/MoneyRequestView.js in the View for the HOLD banner:

    • Check if the transaction has any duplicates by checking the corresponding Onyx key transactionViolations_*. If so, replace the props.translate('iou.requestOnHold') for props.translate('iou.requestDuplicate') that contains the message defined in the screenshot at the beginning of the issue (asked me for the Spanish translations).

    • If there are duplicates, add a new <Button> to review duplicates. Don't navigate anywhere for now but eventually it will do the following:

      • Navigate the user to the route for a new page ReviewDuplicate

      • Pass the threadReportID of the transaction in the route to the new page.

Manual Test Steps

image

image

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~016dc734e5d5fc1a3f
  • Upwork Job ID: 1778425579213647872
  • Last Price Increase: 2024-04-11
  • Automatic offers:
    • akinwale | Reviewer | 0
    • gijoe0295 | Contributor | 0
Issue OwnerCurrent Issue Owner: @MitchExpensify
@pecanoro pecanoro added the Weekly KSv2 label Dec 7, 2023
@pecanoro pecanoro self-assigned this Dec 7, 2023
@pecanoro pecanoro removed their assignment Dec 8, 2023
@pecanoro pecanoro added Monthly KSv2 and removed Weekly KSv2 labels Dec 8, 2023
@melvin-bot melvin-bot bot closed this as completed Feb 20, 2024
Copy link

melvin-bot bot commented Feb 20, 2024

@pecanoro, 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.

@pecanoro
Copy link
Contributor Author

@MelvinBot Well Melvin, we are prioritizing this again, so reopening!

@pecanoro pecanoro reopened this Feb 20, 2024
@trjExpensify trjExpensify moved this to Release 2: Summer 2024 (Aug) in [#whatsnext] #wave-collect Mar 5, 2024
@pecanoro pecanoro added Weekly KSv2 NewFeature Something to build that is a new item. and removed Monthly KSv2 labels Apr 8, 2024
Copy link

melvin-bot bot commented Apr 8, 2024

@pecanoro pecanoro assigned pecanoro and unassigned MitchExpensify Apr 8, 2024
@MitchExpensify
Copy link
Contributor

Will this ultimately be internal or external @pecanoro ?

@pecanoro
Copy link
Contributor Author

pecanoro commented Apr 9, 2024

@MitchExpensify Ideally external, but I am trying to wrap up the back-end first.

@pecanoro pecanoro added the External Added to denote the issue can be worked on by a contributor label Apr 11, 2024
Copy link

melvin-bot bot commented Apr 11, 2024

Job added to Upwork: https://www.upwork.com/jobs/~016dc734e5d5fc1a3f

@melvin-bot melvin-bot bot changed the title [HOLD][Dupe Detection] Surfacing Potential Duplicates [$250] [HOLD][Dupe Detection] Surfacing Potential Duplicates Apr 11, 2024
@pecanoro pecanoro changed the title [$250] [HOLD][Dupe Detection] Surfacing Potential Duplicates [Dupe Detection] Surfacing Potential Duplicates Apr 11, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 11, 2024
@trjExpensify trjExpensify added Weekly KSv2 and removed Monthly KSv2 labels May 29, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Jun 7, 2024
@melvin-bot melvin-bot bot changed the title [$500][Dupe Detection] Surfacing Potential Duplicates [HOLD for payment 2024-06-18] [$500][Dupe Detection] Surfacing Potential Duplicates Jun 11, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Jun 11, 2024
Copy link

melvin-bot bot commented Jun 11, 2024

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

Copy link

melvin-bot bot commented Jun 11, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.81-11 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-06-18. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Jun 11, 2024

BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@akinwale] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.
  • [@MitchExpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jun 13, 2024
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2024-06-18] [$500][Dupe Detection] Surfacing Potential Duplicates [HOLD for payment 2024-06-20] [HOLD for payment 2024-06-18] [$500][Dupe Detection] Surfacing Potential Duplicates Jun 13, 2024
Copy link

melvin-bot bot commented Jun 13, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.82-4 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-06-20. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Jun 13, 2024

BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@akinwale] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.
  • [@MitchExpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon.

@MitchExpensify
Copy link
Contributor

Reminder set to pay, do we need BZ steps here @akinwale ?

@akinwale
Copy link
Contributor

Reminder set to pay, do we need BZ steps here @akinwale ?

@MitchExpensify Yes, we do. I'll post them shortly. Also, please note the PR was initially deployed to production 2024-06-11, so the correct payment due date should be 2024-06-18.

@akinwale
Copy link
Contributor

  • [@akinwale] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.

Regression Test Steps
Prerequisites

  • Control workspace with Expense Violations enabled
  • Account is an employee member of Control workspace and violations are enabled for the account
  • Use staging server on if testing on dev
  1. Launch the Expensify app.
  2. Login as a member of the Control workspace.
  3. Submit 2 expenses with the same amount (avoiding limit violations), currency, merchant and date to the workspace.
  4. Navigate to the workspace chat where the expense was created.
  5. Open the expense report.
  6. Verify that each expense preview has a red dot indicator and Cash · Duplicate · Hold at the top
  7. Open any one of the transactions in the expense report.
  8. Verify that the HOLD banner is displayed at the top.
  9. Verify that the text, This expense has the same details as another one. Review the duplicates to remove the hold. is displayed.
  10. Verify that a Review duplicates button is displayed. Clicking or tapping the button does nothing at the moment.

Do we agree 👍 or 👎?

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Jun 18, 2024
@gijoe0295
Copy link
Contributor

@MitchExpensify Ready for payment 👍

@melvin-bot melvin-bot bot added the Overdue label Jun 20, 2024
@MitchExpensify
Copy link
Contributor

Paid and contracts ended!

@melvin-bot melvin-bot bot removed the Overdue label Jun 21, 2024
@github-project-automation github-project-automation bot moved this from Release 2: Summer 2024 (Aug) to Done in [#whatsnext] #wave-collect Jun 21, 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 Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item.
Projects
No open projects
Archived in project
Development

No branches or pull requests

6 participants