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

[$250] Track- Error appears when Submit expense to someone #45086

Open
1 of 6 tasks
lanitochka17 opened this issue Jul 9, 2024 · 51 comments
Open
1 of 6 tasks

[$250] Track- Error appears when Submit expense to someone #45086

lanitochka17 opened this issue Jul 9, 2024 · 51 comments
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. External Added to denote the issue can be worked on by a contributor Weekly KSv2

Comments

@lanitochka17
Copy link

lanitochka17 commented Jul 9, 2024

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


Version Number: 9.0.5-3
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/4704990&group_by=cases:section_id&group_order=asc&group_id=309130
Email or phone of affected tester (no customers): gocemate+a573@gmail.com

Action Performed:

  1. Login with new account
  2. Go to Self DM> Track expense
  3. Submit the expense to someone
  4. Wait for a minute

Expected Result:

There should be no errors and submitted expense should be present on LHN and report

Actual Result:

Red dot and error appears after Submit expense to someone

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

Bug6536104_1720537021906.ae7d5.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01408041e16e8fde12
  • Upwork Job ID: 1815525298284767197
  • Last Price Increase: 2024-08-08
@lanitochka17 lanitochka17 added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jul 9, 2024
Copy link

melvin-bot bot commented Jul 9, 2024

Triggered auto assignment to @alexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

@lanitochka17
Copy link
Author

@alexpensify FYI 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

@melvin-bot melvin-bot bot added the Overdue label Jul 11, 2024
@alexpensify
Copy link
Contributor

This one is on my testing list. I'll review it soon.

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Jul 11, 2024
Copy link

melvin-bot bot commented Jul 15, 2024

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

@alexpensify
Copy link
Contributor

No update, I'll test soon

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Jul 15, 2024
@alexpensify
Copy link
Contributor

Other GHs have been a priority, I'll review soon

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Jul 17, 2024
@alexpensify
Copy link
Contributor

I was able to replicate the experience in my Android application

image

image

@melvin-bot melvin-bot bot removed the Overdue label Jul 22, 2024
@alexpensify alexpensify added the External Added to denote the issue can be worked on by a contributor label Jul 22, 2024
@melvin-bot melvin-bot bot changed the title Track- Error appears when Submit expense to someone [$250] Track- Error appears when Submit expense to someone Jul 22, 2024
Copy link

melvin-bot bot commented Jul 22, 2024

Job added to Upwork: https://www.upwork.com/jobs/~01408041e16e8fde12

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jul 22, 2024
Copy link

melvin-bot bot commented Jul 22, 2024

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

@alexpensify
Copy link
Contributor

We need proposals here.

Copy link

melvin-bot bot commented Jul 23, 2024

@alexpensify @Pujan92 this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@melvin-bot melvin-bot bot added the Overdue label Jul 25, 2024
@alexpensify
Copy link
Contributor

Open for proposals here

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Jul 25, 2024
@trjExpensify
Copy link
Contributor

^^ I agree with that

@thienlnam
Copy link
Contributor

I don't think it matters to the person that is getting the expense submitted to them, but for the person that created the tracked expense it might be nice to see that this tracked expense has been updated and is now being submitted to someone.

Though I don't feel that strongly so if you want we can remove the reportAction that gets added when the expense is moved

@trjExpensify
Copy link
Contributor

I think redirecting them to the DM and seeing this preview that reads " owes:" is fine, personally.

image

@melvin-bot melvin-bot bot added the Overdue label Aug 14, 2024
@alexpensify
Copy link
Contributor

@pasyukevich—The team has replied with feedback. Do you have enough information to continue with the PR, or should we have a larger discussion in the Open Source Slack room? Thanks for the update!

@melvin-bot melvin-bot bot removed the Overdue label Aug 14, 2024
@pasyukevich
Copy link
Contributor

@alexpensify I am not sure, still investigating the exact reason - A larger discussion will be helpful

I've found on the android a few different flows of this problem:

  1. Unsynced state with BE - when we send straight after the creation of the convertTrackedExpenseToRequest and receive a response with the not found state (this is reproducible also on other platforms, floating bug)
  2. multiple requests of convertTrackedExpenseToRequest - we send convertTrackedExpenseToRequest and receive a response with status 200, but straight after it sends one more and receives 401 (as the previous request has already converted it) - error at the app as a result

I'm focused on the 2nd case as it reproduces only on the Android constantly (1st - floating problem)

It was hard to investigate the exact flow, since on the js level we always have the same error - [TypeError: Network request failed] (even if convertTrackedExpenseToRequest succeeded on the native side )

I've configured the logs from the native Android and network sides with exact errors - it is much easier to investigate the root cause

@alexpensify
Copy link
Contributor

Ok, I'll start one tomorrow.

@melvin-bot melvin-bot bot added the Overdue label Aug 30, 2024
@CyberAndrii
Copy link
Contributor

Coming from #48238. This error is caused by the Receipt.type property being undefined. We had a similar issue before: #26940 (comment).

receipt must be either undefined or has a value assigned to the type property. You can quickly fix it with this change:

diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts
index 29d48173779..4414d8221c7 100644
--- a/src/libs/actions/IOU.ts
+++ b/src/libs/actions/IOU.ts
@@ -3553,7 +3553,7 @@ function requestMoney(
                 createdChatReportActionID,
                 createdIOUReportActionID,
                 reportPreviewReportActionID: reportPreviewAction.reportActionID,
-                receipt,
+                receipt: receipt && Object.keys(receipt).length === 0 ? undefined : receipt,
                 receiptState: receipt?.state,
                 category,
                 tag,

This will only partially fix the issue as there are more places where a file is passed but the type is missing.

@alexpensify
Copy link
Contributor

I'm catching up from being OOO last week and will start the required discussion soon.

@melvin-bot melvin-bot bot removed the Overdue label Sep 3, 2024
@alexpensify
Copy link
Contributor

No update

@melvin-bot melvin-bot bot added the Overdue label Sep 20, 2024
@alexpensify
Copy link
Contributor

Other GitHubs have been a priority, I'll get to this one soon.

@melvin-bot melvin-bot bot removed the Overdue label Sep 20, 2024
@alexpensify
Copy link
Contributor

I've been sick this week and haven't been able to review this GitHub. There is no major update here; I'll try to carry on next week.

@pasyukevich
Copy link
Contributor

I've rechecked the issue - it is still reproducible with the same logs

@alexpensify
Copy link
Contributor

No update

@alexpensify
Copy link
Contributor

@Pujan92 - I should have put this one on hold for #48238, but that one went into production recently. Can you please confirm what's left, as this appears to be a multilevel issue, or should we close this GH? Thanks!

@alexpensify
Copy link
Contributor

@Pujan92 any update here? Thanks!

@alexpensify

This comment was marked as outdated.

@Pujan92
Copy link
Contributor

Pujan92 commented Oct 18, 2024

I see the same error as @pasyukevich mentioned

[Network] API request error: Connection interruption likely - "Network request failed"

@pasyukevich, is there any update about why this error is being thrown?

@flaviadefaria
Copy link
Contributor

@al, this makes more sense as part of #convert since this is part of the bottom-up adoption workflow.

@pasyukevich
Copy link
Contributor

@Pujan92 There are no updates, the latest one - #45086 (comment)

@CyberAndrii
Copy link
Contributor

[Network] API request error: Connection interruption likely - "Network request failed"

See #45086 (comment) for why this happens

@alexpensify
Copy link
Contributor

@Pujan92 any thoughts about the feedback shared so far? Thanks!

@Pujan92
Copy link
Contributor

Pujan92 commented Oct 29, 2024

Coming from #48238. This error is caused by the Receipt.type property being undefined. We had a similar issue before: #26940 (comment).

@CyberAndrii Thanks for the details and linked issues. Indeed the error is same with the other linked issues.


receipt must be either undefined or has a value assigned to the type property. You can quickly fix it with this change:

This(set receipt undefined if the object is empty) seems to fix the issue when I apply(receipt: isEmptyObject(receipt) ? undefined : receipt,) here.

receipt,

My doubt is why an empty receipt object is causing this issue, is it raised from backend specifically for android or are we trying to upload a receipt image as it is not undefined?

@alexpensify
Copy link
Contributor

Update: Waiting for proposals or a proposal update

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. External Added to denote the issue can be worked on by a contributor Weekly KSv2
Projects
Status: No status
Development

No branches or pull requests

10 participants