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] Allow failed image/receipt uploads to be retried #50507

Open
1 of 6 tasks
justinpersaud opened this issue Oct 9, 2024 · 76 comments
Open
1 of 6 tasks

[$500] Allow failed image/receipt uploads to be retried #50507

justinpersaud opened this issue Oct 9, 2024 · 76 comments
Assignees
Labels
External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item. Weekly KSv2

Comments

@justinpersaud
Copy link
Contributor

justinpersaud commented Oct 9, 2024

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: Any -- latest version
Reproducible in staging?: Yes
Reproducible in production?: Yes
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
Expensify/Expensify Issue URL:
Issue reported by: @justinpersaud
Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1728408442408079

Action Performed:

Break down in numbered steps

Unclear of the exact way to reproduce this, but you can upload a receipt via Submit Expense to another user and then somehow disrupt the upload either by losing internet connection or some other means.

Expected Result:

The receipt should fail to upload, and the error should say There was an error uploading your receipt. **Try again**. Alternatively, **save the file** or dismiss this error to delete it. "Try again" and "Save the file" should be linked.

Actual Result:

The error asks the user to download the image and then upload it again which is not a great UX

Workaround:

Yes

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

image

Add any screenshot/video evidence

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021849204620290416679
  • Upwork Job ID: 1849204620290416679
  • Last Price Increase: 2024-11-01
  • Automatic offers:
    • dukenv0307 | Reviewer | 104784965
    • nyomanjyotisa | Contributor | 104784966
Issue OwnerCurrent Issue Owner: @nyomanjyotisa
@justinpersaud justinpersaud added Daily KSv2 NewFeature Something to build that is a new item. labels Oct 9, 2024
Copy link

melvin-bot bot commented Oct 9, 2024

Triggered auto assignment to @sakluger (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero process steps for feature requests for more details. Please add this Feature request to a GH project, as outlined in the SO.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Daily KSv2 labels Oct 9, 2024
Copy link

melvin-bot bot commented Oct 9, 2024

⚠️ It looks like this issue is labelled as a New Feature but not tied to any GitHub Project. Keep in mind that all new features should be tied to GitHub Projects in order to properly track external CAP software time ⚠️

Copy link

melvin-bot bot commented Oct 9, 2024

Triggered auto assignment to Design team member for new feature review - @dannymcclain (NewFeature)

@justinpersaud
Copy link
Contributor Author

This is my first time creating a new feature request here so let me know if I'm missing something. I don't know that a project is necessary for improving UX here, is it?

@dannymcclain
Copy link
Contributor

I don't really think so—but maybe that depends on how we solve the problem. I feel like we could just tweak the error message and add a retry link in the message.

Maybe something like this? (bold = link)

There was an error uploading your receipt. Try again. Alternatively, download the file or dismiss this error to delete it.

@JmillsExpensify
Copy link

I like tweaking the error message. Let's start there

@justinpersaud
Copy link
Contributor Author

It was raised in slack that the word download actually doesn't make much sense here because when the error happens, the file was not yet uploaded. The file is actually being fetched from the user's device.

@dannymcclain
Copy link
Contributor

It was raised in slack that the word download actually doesn't make much sense here because when the error happens, the file was not yet uploaded. The file is actually being fetched from the user's device.

So what happens when a user clicks that link currently? I'm sure we can tweak the error message to make sense if we understand what's actually happening.

@justinpersaud justinpersaud self-assigned this Oct 15, 2024
@justinpersaud
Copy link
Contributor Author

I believe it fetches the image from the user device.

Downloading seems to imply that it's coming from an external source, like our servers or the Internet somewhere, when in reality, it's still on the user's device and just needs to be retried.

@dannymcclain
Copy link
Contributor

Could we have it say:

There was an error uploading your receipt. Try again. Alternatively, save the file or dismiss this error to delete it.

?

@justinpersaud
Copy link
Contributor Author

Yeah, I think that works.

I wonder if it would be helpful to have a double confirmation before they dismiss the error warning them the receipt will be deleted forever. This has bitten me before while testing where I accidentally dismissed it and lost the receipt and having already thrown it out.

@dannymcclain
Copy link
Contributor

Hmm yeah I could see that—we might want to get some other's to weigh in too. But if we wanted to go that route we could just use our standard confirmation modal.

@JmillsExpensify
Copy link

I tend to think one confirmation is enough, though I'll defer to y'all.

@justinpersaud
Copy link
Contributor Author

I'm fine with that. I think the important part here is just getting the retry button in place to upload again.

@sakluger what are the next steps here? I'm new to this process but happy to help from the internal engineering side.

@melvin-bot melvin-bot bot added the Overdue label Oct 23, 2024
@sakluger
Copy link
Contributor

@justinpersaud can this be handled externally or does it need to be done by an internal engineer?

  • If it can be done externally, we can just add the external label, which will open up the issue for contributors to propose solutions.
  • If it requires a backend engineer, then we apply the internal label and you (or someone else) can make the necessary PR

Either way, let's make sure the expected behavior in the OP is accurate. I updated it, can you review what I wrote up there?

@melvin-bot melvin-bot bot removed the Overdue label Oct 23, 2024
@justinpersaud
Copy link
Contributor Author

looks good to me, and I believe this is external because it's all happening with the application, not the backend.

@justinpersaud justinpersaud added the External Added to denote the issue can be worked on by a contributor label Oct 23, 2024
@melvin-bot melvin-bot bot changed the title Allow failed image/receipt uploads to be retried [$250] Allow failed image/receipt uploads to be retried Oct 23, 2024
Copy link

melvin-bot bot commented Oct 23, 2024

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

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Oct 23, 2024
@muttmuure muttmuure moved this to Bugs and Follow Up Issues in [#whatsnext] #expense Nov 19, 2024
@dukenv0307
Copy link
Contributor

@nyomanjyotisa friendly bump

@nyomanjyotisa
Copy link
Contributor

Discussion opened in Slack
cc @dukenv0307 @sakluger

@melvin-bot melvin-bot bot added the Overdue label Nov 25, 2024
@sakluger
Copy link
Contributor

This is still being discussed in Slack.

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Nov 25, 2024
Copy link

melvin-bot bot commented Nov 29, 2024

@justinpersaud, @sakluger, @dannymcclain, @nyomanjyotisa, @dukenv0307 Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@dukenv0307
Copy link
Contributor

dukenv0307 commented Dec 2, 2024

Still discussing on Slack

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Dec 2, 2024
@sakluger
Copy link
Contributor

sakluger commented Dec 4, 2024

Bumped the Slack thread.

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Dec 4, 2024
@sakluger
Copy link
Contributor

sakluger commented Dec 9, 2024

That Slack thread is still ongoing. I will try to keep the conversation moving.

Copy link

melvin-bot bot commented Dec 10, 2024

@justinpersaud, @sakluger, @dannymcclain, @nyomanjyotisa, @dukenv0307 Eep! 4 days overdue now. Issues have feelings too...

@sakluger
Copy link
Contributor

I think we're close to wrapping up the Slack discussion.

Copy link

melvin-bot bot commented Dec 12, 2024

@justinpersaud, @sakluger, @dannymcclain, @nyomanjyotisa, @dukenv0307 Still overdue 6 days?! Let's take care of this!

@sakluger
Copy link
Contributor

I think we've wrapped up the discussion in Slack. We're just waiting for @nyomanjyotisa's response in the thread.

Copy link

melvin-bot bot commented Dec 16, 2024

@justinpersaud, @sakluger, @dannymcclain, @nyomanjyotisa, @dukenv0307 10 days overdue. Is anyone even seeing these? Hello?

@sakluger
Copy link
Contributor

Welp, one more decision left to make in that Slack thread. We are discussing whether to show an error message when offline. This depends on whether the file can be successfully downloaded while offline.

Copy link

melvin-bot bot commented Dec 18, 2024

@justinpersaud, @sakluger, @dannymcclain, @nyomanjyotisa, @dukenv0307 12 days overdue. Walking. Toward. The. Light...

@dukenv0307
Copy link
Contributor

dukenv0307 commented Dec 23, 2024

Waiting for @nyomanjyotisa's response here

@melvin-bot melvin-bot bot removed the Daily KSv2 label Dec 23, 2024
Copy link

melvin-bot bot commented Dec 23, 2024

This issue has not been updated in over 14 days. @justinpersaud, @sakluger, @dannymcclain, @nyomanjyotisa, @dukenv0307 eroding to Weekly issue.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Overdue labels Dec 23, 2024
@dukenv0307
Copy link
Contributor

@nyomanjyotisa Since the PR is close so please give an update here if you have. Thanks

@nyomanjyotisa
Copy link
Contributor

The draft PR is available here, and currently working on it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item. Weekly KSv2
Projects
Status: Bugs and Follow Up Issues
Development

No branches or pull requests

10 participants