perf: improve uploading image from gallery on native device#59330
perf: improve uploading image from gallery on native device#59330mountiny merged 7 commits intoExpensify:mainfrom
Conversation
|
🚧 @mountiny has triggered a test app build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
Discussing in slack in here https://expensify.slack.com/archives/C05LX9D6E07/p1743416318756239?thread_ts=1743081276.904899&cid=C05LX9D6E07 |
|
🚧 @mountiny has triggered a test app build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
|
🚧 @mountiny has triggered a test app build. You can view the workflow run here. |
manipulateAsync with manipulate|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
This reverts commit 3a7096f.
36b50d4 to
4acd691
Compare
@TMisiukiewicz I don't see a loading indicator while the image is processing Screen.Recording.2025-04-02.at.15.57.34.mov |
|
@DylanDylann ohh I forgot to update the description. We decided it will be handled in a separate PR: #59519 |
|
@TMisiukiewicz @mountiny I noticed that the delay time has improved. Do we need to have a metric to measure this improvement? |
| height: manipResult.height, | ||
| }; | ||
| return resolve([convertedAsset]); | ||
| }), |
There was a problem hiding this comment.
Please ensure free memory in exceptional case
.catch(error => {
manipulateContext?.release();
resolve(response.assets || []); // Fallback to original assets if we want
});
Or we can do it in the below catch
There was a problem hiding this comment.
@TMisiukiewicz What do you think about the above suggestion?
There was a problem hiding this comment.
yeah you are right we should release it in catch, good call 👍
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2025-04-02.at.16.28.32.movAndroid: mWeb ChromeScreen.Recording.2025-04-02.at.16.28.57.moviOS: NativeScreen.Recording.2025-04-02.at.16.26.38.moviOS: mWeb SafariScreen.Recording.2025-04-02.at.16.27.42.movMacOS: Chrome / SafariNA MacOS: DesktopNA |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.1.24-2 🚀
|
|
Still facing #47078 on Web, mWeb, Desktop. Is the issue resolved on IOS only? |
|
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.1.24-10 🚀
|
1 similar comment
|
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.1.24-10 🚀
|
Explanation of Change
Improving the performance of uploading HEIC images on iOS
Fixed Issues
$ #59347
PROPOSAL:
Tests
Test on native iOS only
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
Screen.Recording.2025-04-01.at.11.01.36.mov
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop