Closed Bug 1553758 Opened 6 years ago Closed 6 years ago

Infinite Loading on the Firefox Accounts page after you want to log in second time

Categories

(Firefox :: Sync, defect)

69 Branch
defect
Not set
major

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox67.0.1 --- wontfix

People

(Reporter: Ovidiu, Unassigned)

References

Details

Attachments

(2 files)

Affected versions

  • Tested on Nightly 69.0a1 (2019-05-22)

Affected platforms

  • Tested on Mac OS 10.14 and Windows 10

Steps to reproduce
Prerequisites:
To be able to see the about:welcome page on a version where this is not implemented please go to about:config and set:

identity.fxaccounts.autoconfig.uri to https://latest.dev.lcip.org/
browser.newtabpage.activity-stream.fxaccounts.endpoint to https://latest.dev.lcip.org/
Restart the browser.

Steps:

  1. Log in into your account from the about:welcome page ( I used a verified account)
  2. Disconnect your account: Go to avatar icon in the toolbar click on it -> from the dropdown choose Sync settings... and select "Disconnect" -> "Just Disconnect"
  3. Try and sign in a second time with the same account from the about:welcome page

Expected result

  • You need to enter your password

Actual result

  • Infinite loading on the Firefox Accounts page

Note: At step 3 you can use any email address valid/invalid and you will see the infinite loading page.

Blocks: 1553143

:Ovidiu, thanks for the report, this looks pretty serious. Can you create a video of this happening, showing both the URL bar and the dev tools console? And a snapshot of what is in your about:config if you search for fxaccounts?

Flags: needinfo?(ovidiu.boca)

Bumping this over to the newtab component, I'm not sure if that's the right place either.

I am attaching a screenshot showing the behavior.

What happens is when the user disconnects from Sync, all the about:config values set
based on identity.fxaccounts.autoconfig.uri reset back to their default state.

It looks like other areas of the browser get around this by re-populating those
fields as soon as they are loaded.

cc :mardak

Flags: needinfo?(edilee)

Note, this should not affect prod since those values will not be reset, but it does make testing against a test server annoying.

Component: Server: Firefox Accounts → Activity Streams: Newtab
Product: Cloud Services → Firefox

CC'ing :markh too since the root of the problem seems to be how Firefox resets the user preferences when receiving the fxaccounts:logout webchannel message.

Flags: needinfo?(markh)

The prefs that seem to change in comment 4:

identity.fxaccounts.auth.uri
identity.fxaccounts.remote.oauth.uri
identity.fxaccounts.remote.profile.uri
identity.fxaccounts.remote.root

Looks like signing out calls FxAccountsConfig.resetConfigURLs():
https://searchfox.org/mozilla-central/rev/7556a400affa9eb99e522d2d17c40689fa23a729/services/fxaccounts/FxAccounts.jsm#843-864

These prefs get reset:
https://searchfox.org/mozilla-central/rev/7556a400affa9eb99e522d2d17c40689fa23a729/services/fxaccounts/FxAccountsConfig.jsm#27-34

const CONFIG_PREFS = [
  "identity.fxaccounts.remote.root",
  "identity.fxaccounts.auth.uri",
  "identity.fxaccounts.remote.oauth.uri",
  "identity.fxaccounts.remote.profile.uri",
  "identity.fxaccounts.remote.pairing.uri",
  "identity.sync.tokenserver.uri",
];

So perhaps it's a combination of config prefs getting reset and autoconfig ??

Component: Activity Streams: Newtab → Sync
Flags: needinfo?(edilee)

Yeah, FxAccountsConfig.resetConfigURLs() exists only so we can do this reset on signout. This is by design.

Flags: needinfo?(markh)

This is acting as designed. These values reset when the user signs out. This won't happen in production because these values aren't reset there. Closing as INVALID.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INVALID

I am concerned when we say "should not affect production" . . . I'd like to know that it doesn't. Is there some way we can test and verify? Is that only testable once we release?

Status: RESOLVED → REOPENED
Flags: needinfo?(wclouser)
Resolution: INVALID → ---

The values are being changed to test and that's triggering the problem. The values aren't changed in production (since, they already point to production) so it won't be reproduced there.

The only way to test would be to push to production.

Flags: needinfo?(wclouser)

From discussion in team triage with Erin , this doesn't need to block. But, we can give it a test after it goes into production to make sure.

This issue is still reproducible if the user tries to sign in using a different account, see step 3 from the description.

@ovidiu. Could you try these steps:

  1. Do the prerequisites (Set the configuration in about:config)
  2. Log in to the account
  3. Disconnect the account
  4. Do the prerequisites again
  5. Log in to the account

When you do step 3, it resets the configuration that you set in the prerequisites and it breaks the rest of the test. Setting them again should fix this.

(In reply to Wil Clouser [:clouserw] from comment #19)

@ovidiu. Could you try these steps:

  1. Do the prerequisites (Set the configuration in about:config)
  2. Log in to the account
  3. Disconnect the account
  4. Do the prerequisites again
  5. Log in to the account

When you do step 3, it resets the configuration that you set in the prerequisites and it breaks the rest of the test. Setting them again should fix this.

Hi Wil,
We tried as you suggested on Win 10 and Mac OS, we check the pref and restarted the browser before attempting the log in for second time. We were able to log in for a second time with the same account.

Flags: needinfo?(wclouser)

Hi Luciana. Great news! If you update your test plan to adjust the settings after step 3 then this sounds like it works. I think that means we can close this bug? Thanks

Flags: needinfo?(wclouser)

Thanks Wil for clearing this out, I updated the TC and based on comment 20 I will close this as Resolved WFM.
I will also leave a NI? for myself to verify this after the feature goes in production.

Status: REOPENED → RESOLVED
Closed: 6 years ago6 years ago
Flags: needinfo?(ovidiu.boca)
Resolution: --- → WORKSFORME
Flags: needinfo?(oboca)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: