login with unverified email is not working on Android

VERIFIED FIXED in 2013-11-12

Status

Marketplace
Payments/Refunds
P1
normal
VERIFIED FIXED
5 years ago
5 years ago

People

(Reporter: kumar, Assigned: kumar)

Tracking

2013-11-12
All
Android
Points:
---

Details

Attachments

(1 attachment)

Created attachment 814959 [details]
logcat.txt

In Marketplace we use experimental_allowUnverified=true and experimental_forceIssuer=firefoxos.persona.org so that a user on a mobile device can sign in without doing verification.

Should we do the same thing on Android? Since it's mobile, I think yes.

This currently does not work on Android.

STR:
- Install Firefox Nightly on an Android device
- Open https://marketplace.firefox.com
- Tap the gears icon for settings
- Tap Sign In
- Enter a unique email
- When prompted to create/verify a password do so

What happens:

Persona gets stuck in a loop asking you to verify your email. While this is visually jarring it does work. After verifying the email you are logged in.

What should happen:

Persona should honor the allowUnverified/forceIssuer flags and let you log in without verification. I think.
screencast of the flicker you see when persona waits for verification http://people.mozilla.org/~kmcmillan/bug924985.MOV (11MB)
Blocks: 909896

Comment 2

5 years ago
I can repro this on nightly and stable.  It's basically not going through 'unverifiedEmail' flow.  I don't get any flickering as described comment #1 on galaxy S4
Thanks for the report, Kumar.  I've opened this persona issue to track the bug:

https://github.com/mozilla/browserid/issues/3991

Let's take the discussion there
:kumar - looking at the compress/minified code on marketplace.firefox.com, I see this line:

navigator.id._shimmed||(r.experimental_allowUnverified=!0)

I am guessing this says, if navigator.id is shimmed, set experimental_allowUnverified to `true`. This looks like it would be causing your issue.
:kumar - after digging in a bit more, it looks like the following lines may be causing the issue:

https://github.com/mozilla/fireplace/blob/master/hearth/media/js/login.js#L65-L74

It looks like if there is a native implementation, experimental_forceIssuer is set to true. If not, experimental_forceIssuer is only set of settings.persona_unverified_issuer is set.
oh, sorry, forgot about the shim check. Cool. We can switch the allowUnverified flag for Android and see if it works as expected.
Component: Identity → Payments/Refunds
Product: Core → Marketplace
Version: Trunk → 1.4
Assignee: nobody → kumar.mcmillan
Priority: -- → P1
Target Milestone: --- → 2013-11-12
This is cumbersome to fully test locally so here goes a try on dev servers:
Zamboni: https://github.com/mozilla/zamboni/commit/59ef3404a6e84aaf9cc606af778a9d2ba57ea0e9
Fireplace: https://github.com/mozilla/fireplace/commit/9e21ffffb8c087c28669e71f2d199c317750489f
Commonplace (same thing): https://github.com/mozilla/commonplace/commit/7ea519be177941803f6677a9f68210c618515d7a
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
After my change, unverified logins are working for me. I still see the flicker but maybe that's just me? 

To do the STR on the dev site you'll need to set up prefs like in bug 924693

Comment 9

5 years ago
Verified as fixed on Samsung Galaxy S3.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.