-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[LOW] [Splits] [$500] IOU - When paying a deleted IOU disappears and RBR does not appear when going online #38338
Comments
Triggered auto assignment to @mallenexpensify ( |
@mallenexpensify I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors. |
We think that this bug might be related to #vip-bills |
Job added to Upwork: https://www.upwork.com/jobs/~01606c57f19fab1b0c |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @akinwale ( |
Was able to reproduce, pretty sure we're filing this in #vip-split. Going to add there. |
Yes. It makes sense to let the user know that the attempted payment actually failed. |
Proposal Please re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem? PayMoneyRequest is sent to the server and a response is received before the ReconnectApp request. I have tested it more than 50 times on staging/local system 1- Response of https://dev.new.expensify.com:8082/api/PayMoneyRequest?
This error message should be shown to the user, but following the ReconnectApp response, the deleted IOU data from Onyx at the client side removes the IOU for [User A], causing the IOU to disappear and the RBR not to be shown 2- Response of https://dev.new.expensify.com:8082/api/ReconnectApp?
What changes do you think we should make in order to solve the problem? App/src/libs/actions/OnyxUpdates.ts Line 35 in 0cb2dc0
We change it as
Since the response of ReconnectApp directly updates Onyx, we need to filter the server response of ReconnectApp in the filterOutPaidIOUDeletions function to prevent data deletion from Onyx (Client Side). PayMoneyRequest and its response are fine and do not require changes. Before Code Change: 38338-Before.mp4After Code Change: 38338-After.mp4What alternative solutions did you explore? |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@akinwale can you please review the proposal above? Thx |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
I am still on this. I don't think its a good solution to update the central middlewares and API infra to reflect this exception for a specific case. @ijmalik Is there a different way where we can set optimistic failure report action when the API fails? Currently we don't have any proposals to be approved yet. |
@abdulrahuman5196 Thank you for your feedback on proposal in #38338 (comment) . I understand your concerns regarding the suggested changes to the central SaveResponseInOnyx.ts component. I agree that updating central middlewares and API infrastructure for this specific case may not be the best approach. Instead, could we explore alternative solutions? The root cause of our issue is not related to an API failure. If it were, setting optimistic data would indeed be the correct approach. However, this case is different and warrants a different strategy.
Up to this point, everything is working as expected. The issue arises when the API ReconnectApp response is received. The response includes onyxData related to this specific IOU and other activities associated with User-A while offline. The IOU deletion data updates Onyx directly, bypassing most of our app's code except for the middleware. Therefore, we need to identify IOU deletions in the response and skip these updates to Onyx. |
@mallenexpensify Can we involve an internal engineer here to provide information from backend as well? Or some other direction as well. Basically, the reportAction(IOU) is deleted from the ReconnectApp API call response. So we don't have a report action where we can show an error. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@abdulrahuman5196 before assigning an engineer, can you post in #expensify-open-source to see if you can get a reply from someone from the team? Thx |
@mallenexpensify @abdulrahuman5196 I came across a similar sounding issue, do you think they're connected #40705 |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Good 👀 @sonialiap , the steps are near identical. @abdulrahuman5196 can you review that issue and comment here or there with any thoughts? Normally we'd keep the older issue open but it looks like both these have quite a few comments (and no suggested proposals). |
@mallenexpensify Both are almost similar issues. And I can see comments that other issue is not reproducible. So we can focus on this issue. But anyways I agree on this #40705 (comment), we need internal guidance on |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
2 similar comments
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Checking in #vip-split to see what folks think |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
1 similar comment
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
I removed |
Gonna be a min til we get to this |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
IOUs are a priority right now |
Closing as we're closing #vip-split |
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.52-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: https://expensify.testrail.io/index.php?/tests/view/4424536
Issue reported by: Applause - Internal Team
Action Performed:
Expected Result:
The deleted IOU should not disappear when you pay and should appear RBR when you go online
Actual Result:
When paying a deleted IOU disappears and RBR does not appear when going online
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6413557_1710423588803.Recording__1425.1.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: