-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
[HOLD for payment 2023-09-06] [$1000] Android - Error attempting to download an attachment #25491
Comments
Triggered auto assignment to @garrettmknight ( |
Bug0 Triage Checklist (Main S/O)
|
Confirmed in browserstack |
Job added to Upwork: https://www.upwork.com/jobs/~01ea72aefb3af1826d |
Current assignee @garrettmknight is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @burczu ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Our application, designed to save files to the "Downloads/Expensify" directory, is experiencing challenges on Android 11+ devices. Specifically, the application struggles to fetch and store the intended files in the Downloads/Expensify directory. What is the root cause of that problem?The introduction of
In our existing implementation, we use the App/src/libs/fileDownload/index.android.js Lines 52 to 61 in 03cf0b1
when we set a path and enable What changes do you think we should make in order to solve the problem?Adapt to the App/src/libs/fileDownload/index.android.js Lines 55 to 60 in 03cf0b1
As a result, the library will inherently fetch and store the file within the application's specific directory, ensuring alignment with Scoped Storage guidelines. We have already an Integration with the App/src/libs/fileDownload/index.android.js Lines 73 to 81 in 03cf0b1
This technique collaborates effectively with the Android MediaStore API, granting the application the capability to transfer the file to the Downloads shared directory, without contravening Scoped Storage policies. Result:Download.File.mp4What alternative solutions did you explore? (Optional)N/A |
@burczu please review my proposal |
ProposalPlease re-state the problem that we are trying to solve in this issue.An error appears, and the attachment does not get downloaded to device. What is the root cause of that problem?In here, we're appending It contains colon What changes do you think we should make in order to solve the problem?We need to remove the illegal characters like Replacing What alternative solutions did you explore? (Optional)We can escape the illegal characters, but it will lead to not-good-looking file name. Another way is, instead of using |
not overdue - I'm reviewing proposals right now |
I wasn't able to reproduce this issue - I've tried Pixel 5 with Android 11 and Pixel 6 Pro with Android 12 (both emulators). On what devices did you test it? @izarutskaya maybe you can help me with it? |
For devices with Android 11 and above, I've reproduced this on Pixel 3a with Android API 34, Android 14. For devices with Android below 11, where the bug is not occurring, I've tested on Pixel 3a with Android API 34, Android 8. |
@burczu I used Samsung M 52/ Android 13 and it's still reproducible for me Screen.Recording.20230821.133615.New.Expensify.mp4 |
@burczu I think it happens on samsung phones which you can't emulate on andriod studio |
Thanks @izarutskaya and @rayane-djouah - I'll give your configs a try. |
I don't think so, I'm able to reproduce on Pixel 3a emulator on android studio |
You're using android 14, is that stable? because as far as I know that hasn't been officially released yet and it's a beta release at the moment. I've tested on pixel 6 android 13 and wasn't able to reproduce. |
Ok, I was able to reproduce it with Pixel 3a with Android API 34, Android 14 as @rayane-djouah suggested. I'll try with Android 13 too, to dispel @AmjedNazzal doubts. Thanks |
Hmm... @AmjedNazzal was right here - it is not reproducible on Pixel 3a with Android 13 🤔 I've also tried on Galaxy Nexus with Android 13 which is available in Android Studio and it is also not reproducible... @garrettmknight I've wrote that you've confirmed it on BrowserStack - on what device and with which Android? |
@burczu I don't think the galaxy nexus would be helpful here. If I'm to guess, the issue is probably occurring because of samsung one ui since it's involved in apps interactions with the native system. We should probably run and test dev on physical samsung phones. |
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.58-5 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2023-09-06. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
For reference, here are some details about the assignees on this issue:
As a reminder, here are the bonuses/penalties that should be applied for any External issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Hmm, I'd say this regression came from #23531 but they couldn't have caught this earlier in PR review since this happens only on android specific devices. |
Payment tomorrow! |
Summary of payments:
Upwork Job: https://www.upwork.com/jobs/~01ea72aefb3af1826d |
@NajiNazzal I just sent you an offer in Upwork. Accept and I'll pay this out. |
@garrettmknight, @robertjchen, @burczu, @dukenv0307 Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@garrettmknight, @robertjchen, @burczu, @dukenv0307 Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Paid and done! |
@garrettmknight I was C+ on this issue |
Ah, missed that here. Let me spin up a contract, but in the future, make sure you're assigned to the issue! |
Looks like it was accepted, closing this out! |
@garrettmknight I haven't received payment yet. Can you please check? |
bump ^ |
@robertjchen can you please reopen the issue? I haven't received payment yet Edit: Thanks @garrettmknight. Just received payment. No need to re-open. |
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:
Expected Result:
The attachment downloads successfully to the device without an error.
Actual Result:
An error appears, and the attachment does not get downloaded to device.
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: v1.3.55-4
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
recording_20230808_175024.mp4
Screen.Recording.20230818.173007.New.Expensify.mp4
Expensify/Expensify Issue URL:
Issue reported by: @NajiNazzal
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691506774751679
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: