App icon indicating copy to clipboard operation
App copied to clipboard

[HOLD for payment 2024-04-15] [$500] IOU - Opening IOU receipt leads to not here page

Open kbecciv opened this issue 10 months ago • 24 comments

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.59-0 Reproducible in staging?: y Reproducible in production?: n Issue reported by: Applause - Internal Team

Action Performed:

  1. Go to staging.new.expensify.com
  2. Go to FAB > Request money.
  3. Create a manual request with receipt from user that has no unsettled IOU.
  4. In 1:1 DM, click on the IOU preview.
  5. Click on the receipt.

Expected Result:

Receipt opens without issue.

Actual Result:

Opening IOU receipt leads to not here page

Workaround:

n/a

Platforms:

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

  • [x] Android: Native
  • [x] Android: mWeb Chrome
  • [x] iOS: Native
  • [ ] iOS: mWeb Safari
  • [x] MacOS: Chrome / Safari
  • [ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/Expensify/App/assets/93399543/19df7681-5aef-4569-9c6f-38420f14966d

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0170155bec83d697ff
  • Upwork Job ID: 1775191991451828224
  • Last Price Increase: 2024-04-02

kbecciv avatar Apr 02 '24 12:04 kbecciv

Triggered auto assignment to @iwiznia (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

melvin-bot[bot] avatar Apr 02 '24 12:04 melvin-bot[bot]

We think that this bug might be related to #wave-collect - Release 1

kbecciv avatar Apr 02 '24 12:04 kbecciv

:wave: 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.

github-actions[bot] avatar Apr 02 '24 12:04 github-actions[bot]

Proposal

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

Opening the money request receipt shows not found page.

What is the root cause of that problem?

The condition to show the not found page is checking whether the report parentReportID is not the same as the transaction reportID. https://github.com/Expensify/App/blob/a1801c829b446efcbcb0f91512655939c0535409/src/pages/TransactionReceiptPage.tsx#L62

When this code is made, we can only open the receipt from the transaction thread, so report parentReportID will point to the IOU/expense report, which is the same as transaction reportID.

However, after the one transaction report view PR, we are showing the receipt and other money request fields in the IOU report, so the condition is always false because IOU report parentReportID points to the chat report.

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

We should check whether the report is a money request report or not. If it's a money request report, we just take the reportID, otherwise take the parentReportID.

const moneyRequestReportID = ReportUtils.isMoneyRequestReport(report) ? report?.reportID : report?.parentReportID;

shouldShowNotFoundPage={(moneyRequestReportID ?? '') !== transaction?.reportID}

bernhardoj avatar Apr 02 '24 13:04 bernhardoj

@bernhardoj Can you update your solution to cover Track Expense on selfDM?

shubham1206agra avatar Apr 02 '24 15:04 shubham1206agra

I don't see the problem with track expense

bernhardoj avatar Apr 02 '24 15:04 bernhardoj

Just make a track expense with the receipt. And try to open the receipt.

shubham1206agra avatar Apr 02 '24 15:04 shubham1206agra

https://github.com/Expensify/App/assets/50919443/86cde24b-bf2e-494d-b81a-3b45952c5ef1

Works fine.

bernhardoj avatar Apr 02 '24 15:04 bernhardoj

Oh. Looks like a BE issue, then. Please continue here.

shubham1206agra avatar Apr 02 '24 15:04 shubham1206agra

Job added to Upwork: https://www.upwork.com/jobs/~0170155bec83d697ff

melvin-bot[bot] avatar Apr 02 '24 16:04 melvin-bot[bot]

Triggered auto assignment to Contributor-plus team member for initial proposal review - @dukenv0307 (External)

melvin-bot[bot] avatar Apr 02 '24 16:04 melvin-bot[bot]

Triggered auto assignment to @alexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

melvin-bot[bot] avatar Apr 02 '24 16:04 melvin-bot[bot]

PR is ready

bernhardoj avatar Apr 02 '24 16:04 bernhardoj

confirmed this works on staging as expected now 👍

NikkiWines avatar Apr 03 '24 02:04 NikkiWines

⚠️ 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[bot] avatar Apr 03 '24 15:04 melvin-bot[bot]

@dukenv0307 can we confirm if this blocker notice is valid or an error? Thanks!

alexpensify avatar Apr 03 '24 16:04 alexpensify

@alexpensify this is not valid the context here https://github.com/Expensify/App/issues/39512#issuecomment-2034977569

dukenv0307 avatar Apr 03 '24 16:04 dukenv0307

Perfect, thank you for the update!

alexpensify avatar Apr 03 '24 22:04 alexpensify

Update: We are waiting for this one to go into production

alexpensify avatar Apr 05 '24 22:04 alexpensify

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

melvin-bot[bot] avatar Apr 08 '24 10:04 melvin-bot[bot]

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

  • https://github.com/Expensify/App/pull/39419

If no regressions arise, payment will be issued on 2024-04-15. :confetti_ball:

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

  • @bernhardoj requires payment (Needs manual offer from BZ)
  • @dukenv0307 requires payment (Needs manual offer from BZ)

melvin-bot[bot] avatar Apr 08 '24 10:04 melvin-bot[bot]

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

  • [ ] [@dukenv0307] The PR that introduced the bug has been identified. Link to the PR:
  • [ ] [@dukenv0307] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
  • [ ] [@dukenv0307] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
  • [ ] [@dukenv0307] Determine if we should create a regression test for this bug.
  • [ ] [@dukenv0307] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
  • [ ] [@alexpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

melvin-bot[bot] avatar Apr 08 '24 10:04 melvin-bot[bot]

@dukenv0307 and @bernhardoj - please submit a request here:

https://www.upwork.com/jobs/~0170155bec83d697ff

On Monday, I can complete the payment process. Thanks!

alexpensify avatar Apr 12 '24 19:04 alexpensify

Applied!

bernhardoj avatar Apr 13 '24 05:04 bernhardoj

@dukenv0307 and @bernhardoj - please submit a request here:

@alexpensify Thanks, I've applied to the job too

dukenv0307 avatar Apr 15 '24 13:04 dukenv0307

Payment Summary

Upwork Job

  • ROLE: @bernhardoj paid $(500) via Upwork (LINK)
  • ROLE: @dukenv0307 paid $(500) via Upwork (LINK)

BugZero Checklist (@alexpensify)

  • [x] I have verified the correct assignees and roles are listed above and updated the neccesary manual offers
  • [x] I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants/1775191991451828224/hired)
  • [ ] I have paid out the Upwork contracts or cancelled the ones that are incorrect
  • [ ] I have verified the payment summary above is correct

melvin-bot[bot] avatar Apr 15 '24 18:04 melvin-bot[bot]

@dukenv0307 and @bernhardoj - I've sent you offers via Upwork. Please accept and I can complete the payment process.

alexpensify avatar Apr 15 '24 21:04 alexpensify

@alexpensify accepted

bernhardoj avatar Apr 16 '24 03:04 bernhardoj

Thanks, I was able to complete the payment to @bernhardoj.

@dukenv0307, please accept the offer in Upwork, and I can complete the process. Thanks!

alexpensify avatar Apr 16 '24 19:04 alexpensify

@alexpensify I accepted the UW offer

dukenv0307 avatar Apr 17 '24 03:04 dukenv0307