Skip to content
This repository has been archived by the owner on Apr 17, 2023. It is now read-only.

Blockstack Mobile Browser Camera Bug #1790

Closed
0xpbj opened this issue Jan 14, 2019 · 22 comments
Closed

Blockstack Mobile Browser Camera Bug #1790

0xpbj opened this issue Jan 14, 2019 · 22 comments
Assignees
Labels

Comments

@0xpbj
Copy link
Contributor

0xpbj 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

@markmhendrickson
Copy link

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.

@0xpbj
Copy link
Contributor Author

0xpbj commented Jan 14, 2019

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

@markmhendrickson
Copy link

@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?

@markmhendrickson
Copy link

markmhendrickson 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?

@0xpbj
Copy link
Contributor Author

0xpbj 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.

@markmhendrickson
Copy link

@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
Copy link
Collaborator

hstove 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?

@0xpbj
Copy link
Contributor Author

0xpbj commented Jan 14, 2019

That question never comes up for me on mobile Safari

@hstove
Copy link
Collaborator

hstove commented Jan 14, 2019

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

@0xpbj
Copy link
Contributor Author

0xpbj commented Jan 14, 2019

This is a bug report filed by Apple app review team

@hstove
Copy link
Collaborator

hstove 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.

@0xpbj
Copy link
Contributor Author

0xpbj commented Jan 14, 2019

img_5b019bd55c2c-1

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

@shreyasthiagaraj
Copy link

shreyasthiagaraj commented Jan 14, 2019 via email

@stackatron
Copy link

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?

@0xpbj
Copy link
Contributor Author

0xpbj commented Jan 15, 2019

image

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

@stackatron
Copy link

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

@hstove
Copy link
Collaborator

hstove 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

@0xpbj
Copy link
Contributor Author

0xpbj commented Jan 15, 2019

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

@yknl
Copy link
Collaborator

yknl 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
Copy link

shreyasthiagaraj commented Jan 15, 2019 via email

@0xpbj
Copy link
Contributor Author

0xpbj 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
Copy link
Collaborator

hstove 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 subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

6 participants