App: [HOLD for payment 2023-08-14] [$1000] Web - Appropriate message is not shown when drag&drop a folder.

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 any chat.
  2. Drag & drop a folder a size less than 24MB and Greater than 240bytes.

Expected Result:

We should show an error message that uploading folders is not supported.

Actual Result:

We show the error: The attachment size must be greater than 240 bytes.

Workaround:

Unknown

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: 1.3.36-4 Reproducible in staging?: n/a Reproducible in production?: n/a 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

https://github.com/Expensify/App/assets/93399543/3003b22f-939f-4863-9e50-f1a1ad218db2

Expensify/Expensify Issue URL: Issue reported by: @daveSeife Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688504637490979

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~012e40ccd48a35f18f
  • Upwork Job ID: 1678535202129506304
  • Last Price Increase: 2023-07-17

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 44 (28 by maintainers)

Most upvoted comments

@luacmartins – What about: Uploading a folder is not allowed. Try a different file. – LMK if it’s too long adding the “try a different file” line - just thought it could be good to give them a next step after we tell them a folder is not allowed.

All paid up! Thanks everyone.

The PR that introduced the bug has been identified. Link to the PR: 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: 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:

Not a regression. Folder uploaded was not supported and we wheren’t showing proper message from implementation itself.

Determine if we should create a regression test for this bug. 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.

No. Minor bug to show proper error mesage in case of folders, so a regression test won’t be beneficial.

@sakluger I think there has been some issue with melvin. This change was pushed to production on Aug 7 https://github.com/Expensify/App/pull/23321#issuecomment-1668389422. This issue should be made to hold for payment on Aug 14. Can we kindly change it manually?

Based on my calculations, the pull request did not get merged within 3 working days of assignment. Please, check out my computations here:

  • when @Charan-hs got assigned: 2023-07-20 18:59:25 Z
  • when the PR got merged: 2023-08-03 16:40:05 UTC
  • days elapsed: 9

On to the next one 🚀

@Charan-hs 's proposal here https://github.com/Expensify/App/issues/22306#issuecomment-1631437724 looks good and works well.

🎀 👀 🎀 C+ Reviewed

@Charan-hs

I suggest to use without suggested changes i.e adding webkitdirectory attribute to Entire Document cases

Kindly update the original proposal when you propose updates or information. Kindly move this https://github.com/Expensify/App/issues/22306#issuecomment-1636724920 to your original proposal here https://github.com/Expensify/App/issues/22306#issuecomment-1631437724

@Charan-hs 's proposal here https://github.com/Expensify/App/issues/22306#issuecomment-1631437724 uses webkitGetAsEntry which provides way of checking if the drop item is a file or folder which seems good IMO. Could you provide information on how you would implement the same in expensify app codebase?