-
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
[$250] Mobile browser camera too zoomed in and not focusing. (iPhone Pro Max 16) #51347
Comments
Triggered auto assignment to @RachCHopkins ( |
Opened an incognito window on iOS chrome and totally unable to tap into the email box. Tapped once and it says "please enter an email or phone number" in red. I am unable to tap to get the keyboard. Same non-incognito. Got in on Safari. Zoom is totally normal on iPhone 14 on iOS 18.0.1 |
@m-natarajan is your team able to reproduce this? |
This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989 |
Waiting on repro. |
Requested help here |
Applause has replicated this and said it's specific to mobile Chrome and this iPhone version. |
Job added to Upwork: https://www.upwork.com/jobs/~021852190537586837285 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @alitoshmatov ( |
@RachCHopkins, @alitoshmatov Whoops! This issue is 2 days overdue. Let's get this updated quick! |
No proposals yet! |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
No proposals, also can't reproduce as it requires physical iphone 16 |
@alitoshmatov here is the proof you asked for https://github.com/user-attachments/assets/a0d7152e-9736-46b9-8b90-0fd0850a15ae As you can see, in mobile chrome the camera is too zoomed in. The tested device is iPhone 12 Pro Max. Thanks @fabioh8010 for being my tester once again 😄 |
@RachCHopkins, @alitoshmatov Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@RachCHopkins @alitoshmatov What should be the next steps here? |
@pac-guerreiro Thank you for retest, I did also manage to reproduce it on 12 pro max though not consistently. |
@alitoshmatov from what I understand, we're always picking the last video device from the list of available devices. In some devices, doing this will cause this issue because there's no standard that says that the last device is the normal camera. |
@pac-guerreiro Yes, I think selecting which camera to use is off the table here. |
Hi, @pac-guerreiro is going to be OOO until December 12th, so I'm taking over this issue over him. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Ok, so it looks like where we are at is that Apple being Apple gives us no control over what camera is used, and it's a game of chance as far as which camera will be chosen. Is there any solution out there that can force iOS to use a particular camera? |
@RachCHopkins There might be, but all of them are workarounds and might come with their own problems. Based on my testing, this bug is very rare to come across, I consider this very limited edge-case and I think we should be fine with closing this issue. If not, we could benefit from inviting internal engineer to the discussion to help us make next decision. |
@alitoshmatov I'm able to consistently reproduce this bug on all environments (dev, staging, prod) using Google Chrome with a iPhone with 3 cameras, that is what this issue is reporting. I will be posting a summary of all problems / solutions soon. |
@alitoshmatov @RachCHopkins While preparing the summary I did some testing and I was able to find a solution for both problems. ProposalPlease re-state the problem that we are trying to solve in this issue.Actually there are two problems here: 1️⃣ - When opening the in-app camera for expense submitting, the camera will be zoomed-in if using a iPhone with 3 cameras and the Google Chrome app. RPReplay_Final1733152347.MP42️⃣ - When switching to another app and coming back while the E/App was using the in-app camera, the camera will be zoomed-out if using a iPhone with 3 cameras and the Safari app. If using the Google Chrome app, the camera will be even more zoomed-in. RPReplay_Final1733152473.MP4RPReplay_Final1733152551.MP4What is the root cause of that problem?The problem 1️⃣ appears to only happen under these two conditions:
Similarly, the problem 2️⃣ appears to only happen under these two conditions:
The problem 1️⃣ is happening due to the use of incorrect logic here to set the video constraints and zoom when the camera permissions are granted. The problem 2️⃣ is not exclusive to this app. When switching between apps and coming back, the camera stream will reset its zoom settings and cause the mentioned issues. I was able to verify the same behavior outside E/App. What changes do you think we should make in order to solve the problem?To solve problem 1️⃣, we can simplify this whole logic to defer the video constraints/zoom choice to the camera system, by just specifying a constraint object without any additional logic. To solve problem 2️⃣, we must "reset" the camera stream every time the user comes back to the browser app after switching to another app, thus making the camera stream use our desired constraint/zoom settings. Changes can be checked in this Draft PR. RPReplay_Final1733162831-compressed.MP4RPReplay_Final1733162907-compressed.MP4What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?Since this change is related to camera streaming, not sure how we can develop unit / UI tests for these use cases. What alternative solutions did you explore? (Optional)N/A |
@RachCHopkins, @alitoshmatov Whoops! This issue is 2 days overdue. Let's get this updated quick! |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@alitoshmatov kindly bump! |
@fabioh8010 That looks like a good plan and works. Just to confirm, does this changes not brake #29484 which introduce the piece of code that you are suggesting to remove? |
@RachCHopkins, @alitoshmatov Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
I will confirm this! |
@RachCHopkins, @alitoshmatov Eep! 4 days overdue now. Issues have feelings too... |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Working on this right now Melvin |
Having problems with building for iOS device, will continue tomorrow |
Issue not reproducible during KI retests. (First week) |
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: 9.0.51-4
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
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
Expensify/Expensify Issue URL:
Issue reported by: @ryanschaffer
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1729635637264959
Action Performed:
Expected Result:
The camera is at a normal zoom level and focuses on the text
Actual Result:
The camera is super zoomed in and unable to focus on the text
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
ScreenRecording_10-23-2024.19-10-39_1.MP4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @alitoshmatovThe text was updated successfully, but these errors were encountered: