App icon indicating copy to clipboard operation
App copied to clipboard

[$250] Expense - Infinite loading or crashing when scanning an HEIC from the files app on low RAM devices

Open jponikarchuk opened this issue 4 weeks ago β€’ 9 comments

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: .2.75-13 Reproducible in staging?: Yes Reproducible in production?: Yes If this was caught during regression testing, add the test name, ID and link from BrowserStack: https://test-management.browserstack.com/projects/2219752/folder/13176933/test-cases/52099913 Email or phone of affected tester (no customers): [email protected] [email protected] Issue reported by: Applause Internal Team Bug source: Regression TC Execution Device used: iPhone 12 mini iOS 167. iPhone 13 iOS 17.7, iPhone 11 iOS 18.7.3 Safari App Component: Money Requests

Action Performed:

  1. Launch new expensify on Safari on a lower RAM device like the 12 mini, iPhone 13, 11
  2. Tap on FAB and select Create Expense
  3. Tap on Scan and Tap on the Photo library icon then choose file
  4. Select an HEIC file from the file tab (can get one by Sharing a Photo from Photos app > Export Unmodified Original > Saving to icloud Drive) or use https://drive.google.com/file/d/1pi5if4sy6Ax0p4AtmkPxo_RmtZUhkxOG/view
  5. Go back and repeat Step 4 if your device is newer.

Expected Result:

User is navigate to the preview

Actual Result:

App is either stuck on infinite loading (almost all of the times on iOS 16) or the app crashes. On newer devices like the iPhone 13 and 13 mini the app can at times navigate to the preview or WS select screen but at least half the times crashes

Workaround:

Unknown

Platforms:

  • [ ] Android: App
  • [ ] Android: mWeb Chrome
  • [ ] iOS: App
  • [x] iOS: mWeb Safari
  • [x] iOS: mWeb Chrome
  • [ ] Windows: Chrome
  • [ ] MacOS: Chrome / Safari

Screenshots/Videos

https://github.com/user-attachments/assets/25e62f73-816e-403f-a095-2749ac00f783

https://github.com/user-attachments/assets/b2acb6b4-5950-49f9-b9d6-64206184679a

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~022001452935588788464
  • Upwork Job ID: 2001452935588788464
  • Last Price Increase: 2025-12-25
Issue OwnerCurrent Issue Owner: @rojiphil

jponikarchuk avatar Dec 12 '25 17:12 jponikarchuk

Triggered auto assignment to @lydiabarclay (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.

melvin-bot[bot] avatar Dec 12 '25 17:12 melvin-bot[bot]

Proposal

Please re-state the problem that we are trying to solve in this issue.

Infinite loading or crashing when scanning an HEIC from the files app on low RAM devices

What is the root cause of that problem?

This is a known issue https://github.com/hoppergee/heic-to/issues/7 that was fixed in release 1.11.14 (ours is 1.11.13).

What changes do you think we should make in order to solve the problem?

Bump heic-to to 1.11.14. I checked the change log and didn't found any major change that we need to update our existing code.

What alternative solutions did you explore? (Optional)

None

gijoe0295 avatar Dec 13 '25 10:12 gijoe0295

Note that this can only be reproduced if you select "Choose files" here. Not reproducible with other options. This is because iOS will automatically converts the HEIC to JPEG in the background for "Take Photo" and "Photo Library" options.

Image

gijoe0295 avatar Dec 13 '25 10:12 gijoe0295

Will review asap

lydiabarclay avatar Dec 16 '25 00:12 lydiabarclay

@lydiabarclay Whoops! This issue is 2 days overdue. Let's get this updated quick!

melvin-bot[bot] avatar Dec 16 '25 00:12 melvin-bot[bot]

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

melvin-bot[bot] avatar Dec 18 '25 00:12 melvin-bot[bot]

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

melvin-bot[bot] avatar Dec 18 '25 00:12 melvin-bot[bot]

@rojiphil Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] avatar Dec 24 '25 00:12 melvin-bot[bot]

πŸ“£ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? πŸ’Έ

melvin-bot[bot] avatar Dec 25 '25 16:12 melvin-bot[bot]

@rojiphil Still overdue 6 days?! Let's take care of this!

melvin-bot[bot] avatar Dec 26 '25 00:12 melvin-bot[bot]

@rojiphil @lydiabarclay 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[bot] avatar Dec 26 '25 21:12 melvin-bot[bot]

@rojiphil 12 days overdue now... This issue's end is nigh!

melvin-bot[bot] avatar Jan 01 '26 00:01 melvin-bot[bot]

πŸ“£ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? πŸ’Έ

melvin-bot[bot] avatar Jan 01 '26 16:01 melvin-bot[bot]

Issue not reproducible during KI retests. (First week)

mvtglobally avatar Jan 04 '26 20:01 mvtglobally

This issue has not been updated in over 14 days. @rojiphil, @lydiabarclay eroding to Weekly issue.

melvin-bot[bot] avatar Jan 06 '26 00:01 melvin-bot[bot]

Issue not reproducible during KI retests. (First week)

@lydiabarclay Can we ask the QA to retest this and close this one out if not reproducible? Thanks.

rojiphil avatar Jan 06 '26 02:01 rojiphil

I reproduced crash after 2nd try on my iPhone. This is constantly reproducible on every 2nd try.

https://github.com/user-attachments/assets/900cbbbc-7b0d-460a-bdd0-83a44d8c3e1e

situchan avatar Jan 06 '26 03:01 situchan

I reproduced crash after 2nd try on my iPhone.

Oh! That's good news. @situchan Would you like to take over as I am unable to reproduce?

rojiphil avatar Jan 06 '26 05:01 rojiphil

Oh! That's good news. @situchan Would you like to take over as I am unable to reproduce?

@rojiphil sure thanks

situchan avatar Jan 06 '26 07:01 situchan

@lydiabarclay Please unassign me here and assign the issue to @situchan as C+. Thanks.

rojiphil avatar Jan 06 '26 07:01 rojiphil

@gijoe0295's proposal looks good.

Tested locally 10+ times and crash no longer happens.

https://github.com/user-attachments/assets/7b573dcc-5340-4f8d-b163-408434819f52

πŸŽ€ πŸ‘€ πŸŽ€ C+ reviewed

situchan avatar Jan 06 '26 07:01 situchan

Triggered auto assignment to @thienlnam, see https://stackoverflow.com/c/expensify/questions/7972 for more details.

melvin-bot[bot] avatar Jan 06 '26 07:01 melvin-bot[bot]