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

[$500] Web - IOU - Incorrect IOU preview component is displayed when requesting money #28142

Closed
1 of 6 tasks
izarutskaya opened this issue Sep 25, 2023 · 46 comments
Closed
1 of 6 tasks
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering Internal Requires API changes or must be handled by Expensify staff

Comments

@izarutskaya
Copy link

izarutskaya commented Sep 25, 2023

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Action Performed:

  1. Open a tab where user A is signed in
  2. Open a chat with user B
  3. Click on '+' icon > 'Request money' > 'Scan' tab > 'Choose file' > Select an image > 'Request' button
  4. Click the request preview
  5. Click the receipt image
  6. Click the three-dot menu >
    Select replace > click on 'Choose file' > select a new image
    Open a tab where user B is signed in
    Open a chat with user A
  7. Click on '+' icon > 'Request money' > 'Manual' tab > enter amount > click on 'Next' button > click on 'Request'
  8. Observe that two IOU preview components are created
  9. Click on the second iOU preview component > observe that 'RBR' is displayed on LHN

Expected Result:

A single IOU preview component should be displayed

Actual Result:

Two IOU preview component is displayed

Workaround:

Can the user still use Expensify without this being fixed? Have you informed them of the workaround?

Platforms:

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

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: v1.3.74-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

Notes/Photos/Videos: Any additional supporting documentation

Screen.Recording.2023-09-20.At.1.47.18.Pm.mp4
Recording.1622.mp4

Expensify/Expensify Issue URL:

Issue reported by: @Natnael-Guchima

Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1695207878592009

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01bd1c573eb7a06cee
  • Upwork Job ID: 1706312815653244928
  • Last Price Increase: 2023-10-16
@izarutskaya izarutskaya added External Added to denote the issue can be worked on by a contributor Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Sep 25, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 25, 2023

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

@melvin-bot melvin-bot bot changed the title Web - IOU - Incorrect IOU preview component is displayed when requesting money [$500] Web - IOU - Incorrect IOU preview component is displayed when requesting money Sep 25, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 25, 2023

Job added to Upwork: https://www.upwork.com/jobs/~01bd1c573eb7a06cee

@melvin-bot
Copy link

melvin-bot bot commented Sep 25, 2023

Bug0 Triage Checklist (Main S/O)

  • This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
  • This bug is not a duplicate report (check E/App issues and #expensify-bugs)
    • If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead
  • This bug is reproducible using the reproduction steps in the OP. S/O
    • If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
    • If the reproduction steps aren't clear and you determine the correct steps, please update the OP.
  • This issue is filled out as thoroughly and clearly as possible
    • Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.
  • I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 25, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 25, 2023

Triggered auto assignment to @garrettmknight (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

@melvin-bot
Copy link

melvin-bot bot commented Sep 25, 2023

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

@rojiphil
Copy link
Contributor

@garrettmknight @sakluger @jjcoffee
I could reproduce this on staging but not on latest main.
Can we confirm if this is still a bug?

@melvin-bot melvin-bot bot added the Overdue label Sep 28, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 29, 2023

@garrettmknight, @sakluger, @jjcoffee Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@jjcoffee
Copy link
Contributor

Are you still able to repro @Natnael-Guchima? I find the steps a bit confusing, in the video it looks like we're opening the tab with User B signed in in step 7?

@melvin-bot melvin-bot bot removed the Overdue label Sep 29, 2023
@Natnael-Guchima
Copy link

@jjcoffee Yes, the issue is still reproducible. You are right on the video we are opening a tab where use B is signed in. The steps should have been:

  1. Open a tab where user B is signed in
  2. Open a chat with user A

@melvin-bot melvin-bot bot added the Overdue label Oct 2, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 2, 2023

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@sakluger
Copy link
Contributor

sakluger commented Oct 2, 2023

I also find this a bit confusing, but I think I understand. When I request money from you and then I edit the receipt image within that request, your next request back to me gets split into two separate request components/elements.

@Natnael-Guchima is that an accurate description of what is happening here?

@Natnael-Guchima
Copy link

@sakluger yes, that is an accurate description of the issue.

@melvin-bot melvin-bot bot added the Overdue label Oct 5, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 6, 2023

@sakluger, @jjcoffee Whoops! This issue is 2 days overdue. Let's get this updated quick!

@jjcoffee
Copy link
Contributor

jjcoffee commented Oct 6, 2023

Waiting for proposals.

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Oct 6, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 23, 2023

Current assignee @jjcoffee is eligible for the Internal assigner, not assigning anyone new.

@melvin-bot
Copy link

melvin-bot bot commented Oct 23, 2023

@sakluger, @jjcoffee Huh... This is 4 days overdue. Who can take care of this?

@jjcoffee
Copy link
Contributor

Apologies for the delay here, I had some higher priority PRs to get through last week. I will try to review today or tomorrow!

@melvin-bot melvin-bot bot removed the Overdue label Oct 23, 2023
@sakluger
Copy link
Contributor

Thanks @jjcoffee, if you can prioritize this one it would be great since it's coming up on one month.

@jjcoffee
Copy link
Contributor

So going through this again I'm leaning towards this being mainly a BE issue as once User A makes their scan money request:

  1. Pusher update with the transaction ID is received by User B, but no IOU report.
  2. User B requests money with an optimistic IOU report ID.
  3. BE responds by setting that IOU report ID to null (i.e. deletes it). However it does not set the relevant reportPreviewAction to null, so that action remains.

So I think we can either ensure that the pusher comes with the new IOU report (as happens with manual requests), or in step 3 above set the reportPreviewAction to null.

@rojiphil
Copy link
Contributor

So I think we can either ensure that the pusher comes with the new IOU report (as happens with manual requests), or in step 3 above set the reportPreviewAction to null.

@jjcoffee
I think, it’s worth mentioning this issue here where I had suggested a similar option of (2) and (3) but in a different context.
Also, as the initial scan receipt is a whisper message in User A side, it may be intentional to not send a whisper message to other side i.e. User B. So, not sure if (1) would be feasible.
Anyways, I too think that fixing this issue in BE is better.

@melvin-bot melvin-bot bot added the Overdue label Oct 26, 2023
@sakluger
Copy link
Contributor

Okay, thanks @jjcoffee for the review and thoughts! I'll assign a BE engineer to take a look.

@melvin-bot
Copy link

melvin-bot bot commented Oct 27, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Oct 30, 2023

@danieldoglas, @sakluger, @jjcoffee Whoops! This issue is 2 days overdue. Let's get this updated quick!

@danieldoglas
Copy link
Contributor

I think this is related to receipt scanning methods. I'll assign someone from wave4 to take a look since they will probably have more context on this than me.

@melvin-bot melvin-bot bot removed the Overdue label Oct 30, 2023
@danieldoglas
Copy link
Contributor

@luacmartins , I think this is related to the new code added for receipt scanning. Can you please take a look into it and route it internally to the wave4 team if necessary?

@luacmartins
Copy link
Contributor

Sure, will do

@rojiphil
Copy link
Contributor

@luacmartins
It seems to me that this issue also needs to be looked at from a larger perspective. As I was working on proposals related to different money request issues, I think it may be better to always create a new money request from FE and let BE decide on the merge logic. The FE can comply with the merged money request and display it accordingly in the UI.
On this matter, I also opened a Slack discussion here and gave reasonings on my thought process.
What are your thoughts on this?

@luacmartins
Copy link
Contributor

I don't think that's the correct solution because it'd create a jarring experience for the user when most requests would be merged. I think instead we would create a new one in the BE and just push the new reportID to the FE

@luacmartins
Copy link
Contributor

TBH I think this is a really edge case scenario and I don't think we should prioritize fixing this issue. I'm gonna close it for now, feel free to reopen if you think we should fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering Internal Requires API changes or must be handled by Expensify staff
Projects
None yet
Development

No branches or pull requests

8 participants