-
Notifications
You must be signed in to change notification settings - Fork 3k
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 2022-01-19] App shows blank screen when user denies camera access when validating identity - Reported by @adeel0202 #6841
Comments
Triggered auto assignment to @mountiny ( |
@mvtglobally Could you by any chance reproduce this in production so we can make sure this is a regression or persistent issue. Thank you! |
@mountiny I am able to reproduce in PROD app as well |
Triggered auto assignment to @bfitzexpensify ( |
@mvtglobally Thank you for double checking. I will try to look into this, but it in case someone is faster to solve this, I am also making it |
@bfitzexpensify 🎅 -bump |
Done! Upwork job to resolve issue is here Upwork job for reporting is here - @adeel0202 |
@bfitzexpensify applied on upwork for reporting. Thanks |
@bfitzexpensify Have you guys tried to observe camera permission whenever the user's application state changes ( background -> Foreground vice versa ). I think it could be the issue. I can look into this. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
Current assignee @mountiny is eligible for the Exported assigner, not assigning anyone new. |
@cbhushan1995 I believe the issue might lay in the way how we re-check the camera permissions. Feel free to write a proposal here if you manage to discover what the problem is. |
@mountiny is there any test credentials by which i could check existing functionality of app ? |
@cbhushan1995 Feel free to refer the readme files in the repository or ask in the Slack channel as someone will be able to help you faster usually. Essentially, just create your personal account. Are you in the Slack channel? If not, follow these instructions and you will get invited 😊 |
Hi, @mountiny
|
Thanks for the proposal @phivh .
How would you do that? Where will you do that? |
How would you do that? Where will you do that?
|
Solution: |
@phivh and @hafizsameed Both of your proposals are reasonable. In general, a good UX practice is to make sure user always knows what state the app is at. If there is some problem, user should know what is wrong. Thus if they deny access to camera and they need access to camera to complete this essential task, we should show them screen which says something like: "Uh-oh, you have not granted us camera access. We need that to complete this verification" and then "Click this button to grant the access" (exact copy would be different). Then coming back from the settings if required, the camera should work as it will have access, ideally without any other action required by the user. That is in summary what you have both described. However, if you look over other issues you will notice we would like to get moreless exact code changes required for this to be fixed. Which lines in code need to be changed to achieve this behaviour. It makes the entire process more transparent and we can spot earlier if some proposal is not viable because if something works in high-level does not mean it will actually work implemented. I realize this requires more time invested into the proposal from your side, but if you are sure your proposal will work and it will be in line with the coding patterns used throughout the codebase, we will most likely pick that proposal! 😊 Would you be able to describe what exactly need to be changed, and ideally attach video proving these changes work? As you are both new contributors here, I realize there is lots to digest with our process. We are here to help! So feel free to ask if anything is unclear and thank you for the proposals! 😊 Me and/or Rajat will help you later to polish the code style and iron out any potential problems! |
Hi @mountiny, I've proposed 2 options above and I want to demonstrate a simple one that catches by the error message, and this is related to existing ways that are currently on the app. After debugging, there are still missing 2 error messages on iOS and 1 crashing message on android. So, I can add them into
Then handle in
DemoiOSios.mp4Androidandroid.mp4Please let me know if there is any concerns from you guys. |
📣 @phivh You have been assigned to this job by @mountiny! |
@mountiny Hi @bfitzexpensify, I've just applied for the job on Upwork. |
@phivh it would be automatic. Also, you don't have permission to request a review. |
Triggered auto assignment to @davidcardoza ( |
@davidcardoza Hi! 👋 We have two new messages being shown through this PR. For Onfido KYC flow, in case user denies access to camera, we need to re-prompt the user since the camera access is essential. So when they try to verify, this prompt will show: Now the copy is: cameraRequestTitle: which was just a quick proposal, so we can rewrite it completely as you wish. Thank you very much for your help |
Waiting for a copy. |
Friendly bump @davidcardoza 👋 |
Can you change "We need that to complete this verification" to "We need access to complete verification." All looks good otherwise. |
Of course! Thank you David! 🙌 |
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.1.27-1 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 2022-01-19. 🎊 |
No regressions. Issued payment to @adeel0202 and @phivh - thank you both! @parasharrajat, sent you an offer here for C+ work |
All payments issued, we're all done here |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Action Performed:
Expected Result:
User should be able to verify identity or clear error should display
Actual Result:
In iOS, if you deny the camera permission and try to verify identity again, you see the blank screen with an unclear error message.
In Android, if you deny the camera permission and try to verify identity again, you do see the proper message and settings option to allow the permissions manually, however, when you allow the permission in the settings app and come back to the app, you see the same blank screen with the unclear error message. After that, if you try verify identity again, then the camera opens fine.
Workaround:
unknown
Platform:
Where is this issue occurring?
Version Number: 1.1.22-0
Reproducible in staging?: Y
Reproducible in production?:
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
ios.mp4
android.mp4
Expensify/Expensify Issue URL:
Issue reported by: @adeel0202
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1639768520380700
View all open jobs on GitHub
The text was updated successfully, but these errors were encountered: