Closed Bug 924985 Opened 11 years ago Closed 11 years ago

login with unverified email is not working on Android

Categories

(Marketplace Graveyard :: Payments/Refunds, defect, P1)

All
Android
defect

Tracking

(Not tracked)

VERIFIED FIXED
2013-11-12

People

(Reporter: kumar, Assigned: kumar)

References

Details

Attachments

(1 file)

Attached file 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
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
Closed: 11 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
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.

Attachment

General

Created:
Updated:
Size: