-
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
[PAID] [$500] Scan - Inconsistency of flashlight/torch behavior in Scan tab #34457
Comments
Job added to Upwork: https://www.upwork.com/jobs/~017684a08e378933c3 |
Triggered auto assignment to @strepanier03 ( |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Inconsistency of flashlight/torch behavior in Scan tab What is the root cause of that problem?We don’t pass the torch param here What changes do you think we should make in orderWe should pass the torch prop like we do for web:
torchOn={flash} To make sure we have torch available, we may use the
AlternativelyWe may consider renaming |
ProposalPlease re-state the problem that we are trying to solve in this issue.The torch for native only appears when taking a picture, but for mWeb, the torch shows immediately when turned on. What is the root cause of that problem?For native, the behavior is the flash is applied when taking the picture. App/src/pages/iou/request/step/IOURequestStepScan/index.native.js Lines 187 to 190 in c8631be
But for web, we set up the torch like this: App/src/pages/iou/request/step/IOURequestStepScan/NavigationAwareCamera/index.js Lines 49 to 57 in c8631be
What changes do you think we should make in order to solve the problem?For native, the camera can receive a torch prop that we can set to true.
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Both Android and IOS apps works similarly; flashlight is only ON while taking a photo shoot What is the root cause of that problem?In Android/iOS native, we only apply the torch when the user is taking photo here. So the flash only applies when talking photos. Meanwhile for web, we'll turn on the flashlight as soon as the user press on it in the app. This is not correct because the flashlight should only be on when taking photos, similar to how native camera works. This is to avoid unintended inconvenience for other people and also save device battery life. What changes do you think we should make in order to solve the problem?Similar to native Android, iOS, if the user enable flash, in web we should only apply the torch (by What alternative solutions did you explore? (Optional)NA |
@neonbhai Thanks for the proposal. I think we are looking to achieve the consistency here the other way around i.e. web should behave like native. |
@bernhardoj Thanks for the proposal. Same note as above ^ |
@s77rt hi, purely from a UX perspective, I will expect the flash button to turn on flash immediately (and if it doesn't do that, it seems broken). The user is very used to this happening from other camera interfaces. Maybe we could have eyes from the design team on this? User StoryUser clicks receipt in dark environment:
|
@tienifr Thanks for the proposal. I agree on the RCA. Regarding the solution, can we improve this and use the track to construct PS: I think it would be better if we ship this feature upstream to react-webcam |
@neonbhai The mobile (native) behavior was implemented first. Then support was added to web. I think it makes sense to match the web to the native. If you think the native design is incorrect please raise that to Slack (and tag me and the design team). |
@s77rt thanks for the suggestion! we can definitely explore that, I'll try it and update the proposal accordingly 👍 |
@s77rt it seems that this Web API is only an experimental feature and is not supported in many major browsers like Safari, Firefox (reference), so I think we won't be able to use it in our app, except if we check the browser then decide which approach to use in the code, which I'm not sure is worth the trouble, and the old approach still has to be used for some browsers anyway. |
Raised this on Slack https://expensify.slack.com/archives/C01GTK53T8Q/p1705368355349939 for more 👀 |
I think we should proceed here with @tienifr's proposal. 🎀 👀 🎀 C+ reviewed |
Triggered auto assignment to @luacmartins, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
📣 @s77rt 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @tienifr 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
This issue has not been updated in over 15 days. @strepanier03, @s77rt, @luacmartins, @tienifr eroding to Monthly issue. P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do! |
@tienifr still working on this |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.56-8 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 2024-04-03. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
This is on hold for payment for another weekish so just clearing the overdue until then. |
|
Looks like the automation didn't work here either. Handling payment stuff now. |
All paid, closing! |
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: 1.4.24-4
Reproducible in staging?: Y
Reproducible in production?: Y
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: Applause - Internal Team
Slack conversation:
Action Performed:
Prerequisite: Camera use permission is accepted previously
Android App
Mobile Web
Expected Result:
Flashlight should function exactly same behaviour both mobile apps and mobile web
Flashlight icon should be shown in Scan tab within all devices
Actual Result:
Both Android and IOS apps works similarly; flashlight is only ON while taking a photo shoot
In Mobile Web, tapping on the flash icon turns the flashlight ON&OFF without camera taking a shoot
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6340357_1705077132365.Realme_GT2_Pro_App_Chrome.mp4
Bug6340357_1705077132330.No_flashlight_icon_on_mobile_web.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: