-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Fix/large images android #16532
Fix/large images android #16532
Conversation
I found a bug; zoom-in doesn't work on mobile web chrome(android) and safari(iOS) Edit: on main, there is a bug with previews at all. Previews don't open, so I can't test mobile web on the latest main branch |
3f06c90
to
cc7991e
Compare
@francoisl Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Hey @mananjadhav ! Could you please review this PR? I added you because you are assigned to the issue. |
FYI @mananjadhav , there is a known bug which blocks you to test the zoom-in feature on mobile web, in case you want to test on all platforms, although the current PR is meant to fix a bug which occurs on Android native only. |
I was reading this Slack thread to get more context and it mentions creating a PR in the upstream repo, did we do that already? |
@@ -10,6 +10,8 @@ | |||
|
|||
<application | |||
android:supportsRtl="false" | |||
android:largeHeap="true" | |||
android:hardwareAccelerated="false" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to make sure I understand correctly, why are we disabling hardware acceleration? The proposal here says:
Displaying images larger than 8k pixels will also require enabling hardware acceleration and a large heap.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@francoisl I made a mistake in the proposal. With enabled hardwareAccelerated
together with largeHeap
app won't display larger images over 8k pixels.
Here are details of the native error java.lang.RuntimeException: Canvas: trying to draw too large(394141296bytes) bitmap.
for test image that have 11k pixels.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, thanks for clarifying.
Yes, the handling large images feature has been merged to Expensify/react-native-fast-image |
@mananjadhav any chance you can help with the testing here please? |
Sorry for the delay here. There's a conflict in package-lock.json, can you update the PR please @ArekChr? @mananjadhav any chance you can help with the testing here please? |
cc7991e
to
55c3af2
Compare
Hey @mananjadhav, this comment relates to mWeb Safari and Chrome there was an issue "can not zoom-in preview in mWeb". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change looks fine. Testing on Android first now.
@cristipaval looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
Ooooh! This happens when you have too many tabs open in chrome!!! 🤦♂️ @mananjadhav Could you please continue testing? Let me know if we need to revert this one. |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
I am on the testing @cristipaval |
Reviewer Checklist
Screenshots/VideosiOSios-large-images.mp4 |
@francoisl @cristipaval Could you help with the iOS screencasts here please? I am a bit blocked on my setup and I tried a few hours but I couldn't resolve it. |
🚀 Deployed to staging by https://github.com/cristipaval in version: 1.3.0-0 🚀
|
My iOS dev build has also been broken since the latest XCode update, but I can try from Browserstack! |
@francoisl this is deployed on staging, so I was able to test on my physical device using Testflight. I've uploaded the screencast in the checklist. That should be good right? |
Yep thanks. Out of curiosity, did you notice any performance regression? We had this deploy blocker opened by the QA team yesterday, I wonder if it has to do with disabling hardware acceleration. |
🚀 Deployed to production by https://github.com/mountiny in version: 1.3.0-2 🚀
|
Details
Fixed Issues
$ #12893
PROPOSAL: #12893 (comment)
Tests
Offline tests
No offline tests needed
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Web
web.mov
Mobile Web - Chrome
Mobile Web - Safari
Desktop
desktop.mov
iOS
native-ios.mov
Android
naive-android.mov