Closed Bug 1030597 Opened 10 years ago Closed 10 years ago

FMD - blank screen when users are not logged in to firefox account

Categories

(Firefox OS Graveyard :: FindMyDevice, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.0+, b2g-v2.0 verified, b2g-v2.1 verified)

VERIFIED FIXED
2.0 S5 (4july)
blocking-b2g 2.0+
Tracking Status
b2g-v2.0 --- verified
b2g-v2.1 --- verified

People

(Reporter: arthurcc, Assigned: jhirsch)

References

Details

(Keywords: regression)

Attachments

(2 files)

STR:
1. Launch settings
2. Ensure it's not signed in to firefox account
3. Click on "Find my device"

expected result:
  See the description and sign in button

actual result:
  A blank screen

This was regressed by bug 1022992.
blocking-b2g: --- → 2.0?
Keywords: regression
Nominating because the blank screen is preventing me from enabling FMD even when I am signed in to Firefox Accounts, thus I cannot run through any test scenarios.
Marcia just saw two errors being triggered in the JS console when FMD's panel was opened in the Settings app:

> E/GeckoConsole( 1801): [JavaScript Error: "1403773082371	Identity.FxAccounts	ERROR	get silent assertion failed: {"error":"OFFLINE"}" {file: "resource://gre/modules/Log.jsm" line: 760}]
> E/GeckoConsole( 2023): Content JS ERROR at app://settings.gaiamobile.org/js/findmydevice.js:1 in FindMyDevice.init/</<.onerror: {"name":"OFFLINE"}

Despite what the errors show, she reports that she was indeed online and FxA's panel reported her as logged. So I believe there are two separate issues here: first, FxA is triggering onerror even though she's logged in and online (that's the first error message); second, we don't update our UI when onerror fires in the Settings app (that's the second message).
And Sam will be able to clarify the FxA issue, if there is indeed one.
Flags: needinfo?(spenrose)
This error means that a check in Gecko (specifically services/fxaccounts/FxAccountsManager.jsm) of:

  Services.io.offline

returned true. That value is not set by FxA. There is a separate issue that FxA will refuse certain operations if you are offline, but given Marcia's description I think we're seeing a non-FxA regression.
Flags: needinfo?(spenrose)
blocking-b2g: 2.0? → 2.0+
Assignee: nobody → 6a68
Just to be clear, this was seen using:

Gaia   6a1373340b40fcfe901336bc9e80676e5f2ba979
SourceStamp 82ef9bf64d87
BuildID 20140626000202
Version 32.0a2
Base: 122
User build
To clarify, is this after a first-time user experience? If I'm already signed in and just sign out, this error doesn't reproduce.
No, I did not sign in during the FTU. I went right to Settings and then signed in.
I'm not sure about situations where the fmd state doesn't match the fxa state, let's address those in separate bugs *if* they are reproducible after landing this fix.

The bug I see here (and to which Arthur is referring in the description) is the change to apps/settings/elements/findmydevice.html in [1], where "hidden" is now applied to both panel states. Those states are only updated when 'onlogin' or 'onlogout' are fired, so if 'onerror' fires, nothing's ever displayed.

The easy fix here is to make sure we don't hide both panel states by default, should be a pretty quick patch to review ^_^

[1] https://github.com/mozilla-b2g/gaia/commit/56ac177a
Attached file Github PR 21087
Hi Arthur,

Should be a quick review for this one, it's another find my device blocker. Do you have time to take a look?

Thanks,

Jared
Attachment #8446837 - Flags: review?(arthur.chen)
Jared, thanks!

I don't necessarily oppose your fix, but note that I introduced it because in some cases it would take a while for onlogin to fire, and the user would see the sign in screen flicker before it turned into the enable/disable screen. If I remember correctly, you were the one who suggested something like this, because that's what FxA did. I may have misunderstood your suggestion, of course.

Anyway, how do you feel about just making the sign in panel visible inside onerror instead?
(In reply to Guilherme Gonçalves [:ggp] from comment #10)
> Anyway, how do you feel about just making the sign in panel visible inside
> onerror instead?

Cool, sounds good. I'm trying to think of a situation in which you would be logged in, then trigger 'onerror', but I can't think of any.

Updating now.
Comment on attachment 8446837 [details] [review]
Github PR 21087

Looks good to me, thanks.
Attachment #8446837 - Flags: review?(arthur.chen) → review+
Gaia-try looks good, integration failures aren't related to this patch. merging.

Master: https://github.com/mozilla-b2g/gaia/commit/8edc3f50f2ee028580e6b72d80f34b1906eb423d
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.0 S5 (4july)
This issue has been successfully verified on Flame 2.1&2.0.
See attachment: verified_v2.1.png.
Reproduce rate: 0/5
 

Flame 2.0 versions:
Gaia-Rev        8d1e868864c8a8f1e037685f0656d1da70d08c06
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g32_v2_0/rev/c756bd8bf3c3
Build-ID        20141130000204
Version         32.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141130.032432
FW-Date         Sun Nov 30 03:24:44 EST 2014
Bootloader      L1TC00011880

Flame 2.1 versions:
Gaia-Rev        ccb49abe412c978a4045f0c75abff534372716c4
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/18fb67530b22
Build-ID        20141130001203
Version         34.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141130.034738
FW-Date         Sun Nov 30 03:47:49 EST 2014
Bootloader      L1TC00011880
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: