Skip to content
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

Blockstack Mobile Browser Camera Bug #1790

Closed
prabhaav opened this issue Jan 14, 2019 · 22 comments

Comments

@prabhaav
Copy link
Contributor

commented Jan 14, 2019

When recovering an existing ID, if the user chooses to use the QR code flow, the following error comes up:
blockstackiosbug

@markmhx markmhx added the bug label Jan 14, 2019

@markmhx

This comment has been minimized.

Copy link

commented Jan 14, 2019

I believe we built this QR code feature only to decide to no longer support it. So we may be able to simply remove it. @jeffdomke Is that indeed the case?

I'm adding this to our current epic for ensuring that Blockstack works across systems and browsers, so we'll get to this ASAP.

@prabhaav

This comment has been minimized.

Copy link
Contributor Author

commented Jan 14, 2019

thanks @markmhx, that would help us a ton to get the new app released to fix the gaia bug.

@markmhx

This comment has been minimized.

Copy link

commented Jan 14, 2019

@prabhaav We certainly want to unblock you here ASAP. @hstove Is there a quick fix we can get in place for Stealthy (perhaps by detecting user agents for web views like this?) that can resolve their app store need even if we need more time deciding on whether to keep QR codes in general?

@markmhx

This comment has been minimized.

Copy link

commented Jan 14, 2019

Also @shreyasthiagaraj any ideas from your end on how we or they might resolve this with iOS code as a hotfix at least?

@prabhaav

This comment has been minimized.

Copy link
Contributor Author

commented Jan 14, 2019

This isn't in our iOS code, this is the Blockstack Auth that comes up before the user is even able to use the app.

@markmhx

This comment has been minimized.

Copy link

commented Jan 14, 2019

@prabhaav Yea understood, just pinging him in case he has a creative solution given the web view context. But I imagine this will be something we resolve in the browser code.

@hstove

This comment has been minimized.

Copy link
Contributor

commented Jan 14, 2019

When I go to reproduce this, it asks me for permission to use the camera, and I click 'Accept'. Then it works as normal. If you click 'Deny', it shows this error message. Is that not your behavior?

@prabhaav

This comment has been minimized.

Copy link
Contributor Author

commented Jan 14, 2019

That question never comes up for me on mobile Safari

@hstove

This comment has been minimized.

Copy link
Contributor

commented Jan 14, 2019

You may have denied it previously. Go to Settings -> Safari -> Allow Camera & Microphone to see if it's denied

@prabhaav

This comment has been minimized.

Copy link
Contributor Author

commented Jan 14, 2019

This is a bug report filed by Apple app review team

@hstove

This comment has been minimized.

Copy link
Contributor

commented Jan 14, 2019

Yeah, I get that. So, it sounds like the only thing we could improve here is the error message? Unless there really is a bug here, but I wasn't able to reproduce it.

@prabhaav

This comment has been minimized.

Copy link
Contributor Author

commented Jan 14, 2019

img_5b019bd55c2c-1

I have those settings enabled and I still see the same error

@shreyasthiagaraj

This comment has been minimized.

Copy link
Collaborator

commented Jan 14, 2019

@jeffdomke

This comment has been minimized.

Copy link
Member

commented Jan 15, 2019

Yeah, it never worked in Safari far as I recall. It's been like that for several releases, I assume the Apple team just happened to flag it this time? Or was there some change in behavior? @prabhaav can you share the exact wording of the Apple issue, just to make we actually solve it?

@prabhaav

This comment has been minimized.

Copy link
Contributor Author

commented Jan 15, 2019

image

That was the issue they identified with the No video input devices found

@jeffdomke

This comment has been minimized.

Copy link
Member

commented Jan 15, 2019

Seems like we should hide the button and entire feature in Safari. @hstove assigning to you.

@hstove

This comment has been minimized.

Copy link
Contributor

commented Jan 15, 2019

@prabhaav has this ever worked in stealthy? I’m wondering if you have to update your plist file to support the permission dialogue

@prabhaav

This comment has been minimized.

Copy link
Contributor Author

commented Jan 15, 2019

@hstove never tried it. This is outside of Stealthy in the Blockstack browser.

@yknl

This comment has been minimized.

Copy link
Collaborator

commented Jan 15, 2019

This feature never worked on native iOS apps. The browser window that pops up for auth in native apps is Apple’s SFAuthenticationSession. It’s not a normal safari window and does not have access to any video input devices. So it’s really an iOS limitation. The Blockstack iOS SDK passes a URL parameter to the browser to indicate that it’s authenticating via SFAuthenticationSession. But the browser is not currently handling that correctly to hide the QR code button.

Relevant issue: #1620 (comment)

@shreyasthiagaraj

This comment has been minimized.

Copy link
Collaborator

commented Jan 15, 2019

@prabhaav

This comment has been minimized.

Copy link
Contributor Author

commented Jan 17, 2019

FYI @hstove , I found an issue with the fix. It didn't block us from getting into the app store, but this issue might come up again. See attached video:
scannerBug.mov.zip

@hstove

This comment has been minimized.

Copy link
Contributor

commented Jan 17, 2019

Good catch. @shreyasthiagaraj is there anything we can do to permanently mark that this is from a native app? Like a cookie or injected JS. That way we won't have to pass around this parameter all the time, which is fickle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.