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

about:accounts Doesn't load anything in the white box when 'Get started' is clicked on Firefox 30 (i.e. Aurora) #1017

Closed
valin4tor opened this issue Apr 27, 2014 · 28 comments

Comments

@valin4tor
Copy link

When you go to the sync page from the Firefox menu, the nice sync page will load up with a button asking you if you want to get started:

Screenshot 1

But when you go any further and click get started, this just happens:

Screenshot 2

In Chromium the whole thing works fine (Firefox's sync page in Chromium, at accounts.firefox.com) and the exact iframe inside the blank box also works fine in Chromium, displaying the page where you can sign up or sign in.

It's unlikely to be a problem with add-ons since I disabled them all at one point to test and restarted, didn't fix. I also cleared localStorage and the cache just to check, still didn't fix it.

@valin4tor valin4tor changed the title about:accounts Doesn't load anything in the white box when 'Get started' is clicked on Firefox 30 about:accounts Doesn't load anything in the white box when 'Get started' is clicked on Firefox 30 (i.e. Aurora) Apr 27, 2014
@pdehaan
Copy link
Contributor

pdehaan commented Apr 27, 2014

David,

Is there anything getting logged to the Developer Tools console?
Also, which version of Firefox are you using?

On Sunday, April 27, 2014, David Bailey notifications@github.com wrote:

When you go to the sync page from the Firefox menu, the nice sync page
will load up with a button asking you if you want to get started:

[image: Screenshot 1]https://camo.githubusercontent.com/e370ef7b32c188f54cb2e004529514bdd89c5db8/687474703a2f2f692e696d6775722e636f6d2f41327a4e7339662e706e67

But when you go any further and click get started, this just happens:

[image: Screenshot 2]https://camo.githubusercontent.com/89694dab4cdc48aee8fe7527320ffce549ead4f6/687474703a2f2f692e696d6775722e636f6d2f47564e48494d692e706e67

In Chromium the whole thing works fine (Firefox's sync page in Chromium,
at accounts.firefox.com) and the exact iframe inside the blank box also
works fine in Chromium, displaying the page where you can sign up or sign
in.

It's unlikely to be a problem with add-ons since I disabled them all at
one point to test and restarted, didn't fix. I also cleared localStorage
and the cache just to check, still didn't fix it.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1017
.

@aka-John99
Copy link

Problems seen on both Ubuntu builds and Mozilla builds. See also a discussion in the Sumo support forum https://support.mozilla.org/en-US/questions/996664

@vladikoff
Copy link
Contributor

@aka-John99 @DevilishDB hey! Are you able to navigate to https://accounts.firefox.com/legal/privacy and see the page?

Also do you get any errors (besides getPreventDefault() is deprecated) if you: 1. go to https://accounts.firefox.com/signup 2. inspect the page 3. refresh the page 4. check the console.

This works in my Aurora build that I just downloaded:

@valin4tor
Copy link
Author

@aka-John99 I was the one who started that discussion! ;-)
@vladikoff The webpage https://accounts.firefox.com/legal/privacy displays correctly
@pdehaan and @vladikoff
Use of getUserData() or setUserData() is deprecated. Use WeakMap or element.dataset instead. requestNotifier.js:64 <- From an add-on I think
Use of getPreventDefault() is deprecated. Use defaultPrevented instead. <- The one you mentioned
@pdehaan Version 30.0a2 (Aurora)

@aka-John99
Copy link

@DevilishDB

I was the one who started that discussion! ;-)

Yes that was how I found this. I thought others may be interested in the cross reference as the support thread may gather other confirmations or spin off bugzilla bugs. Within the next few days I anticipate the support forum getting a lot of attention relating to Fx 29 as Fx29 Releases with great fanfare on Tuesday.

@vladikoff

hey! Are you able to navigate to https://accounts.firefox.com/legal/privacy and see the page?

Yes
On Canonical Build Fx 30.0a2 (2014-04-09) and on Mozilla Fx 29 Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0 ID:20140421221237 CSet: f60bc49e6bd5

Also do you get any errors (besides getPreventDefault() is deprecated) if you: 1. go to https://accounts.firefox.com/signup 2. inspect the page 3. refresh the page 4. check the console.

Browser console Canonical Fx30 (Using a working profile)
browser console_014

Browser console Mozilla Fx29 no errors.
It does display a couple of warnings
WARN addons.updates: Update manifest for ubufox@ubuntu.com did not contain an updates property AddonUpdateChecker.jsm:312
WARN addons.updates: Update manifest for {972ce4c6-7e08-4474-a285-3208198ce6fd} did not contain an updates property AddonUpdateChecker.jsm:312

@vladikoff
Copy link
Contributor

@aka-John99 @DevilishDB any issues downloading this file https://accounts.firefox.com/scripts/8f998cda.main.js (check the networking tab)?

@aka-John99
Copy link

Not sure what you need checking but the js does seem to load & reload ok. Console networking tab shows. (Tested in working profile Canonical Fx31 Fx30)

GET https://accounts.firefox.com/scripts/8f998cda.main.js [HTTP/1.1 304 Not Modified 809ms]
GET https://accounts.firefox.com/scripts/8f998cda.main.js [HTTP/1.1 200 OK 1294ms]

@aka-John99
Copy link

Should it have any relevance current errors
browser console_015
(Likely to be tomorrow before I get back here again)

@aka-John99
Copy link

Correction

(Tested in working profile Canonical Fx31)

Should read Canonical Fx30

@shane-tomlinson
Copy link

From this console, this looks like the Modernizr issue from #949

@pdehaan pdehaan added this to the train-11.1 milestone Apr 28, 2014
@pdehaan
Copy link
Contributor

pdehaan commented Apr 28, 2014

@shane-tomlinson is able to repro in Ubuntu. The plot thickens.

@shane-tomlinson
Copy link

In Ubuntu, the request to /i18n/client.json 404s when requested while browsing to accounts.firefox.com directly.

URL:    https://accounts.firefox.com/i18n/client.json
Request Method:     GET
Status Code:    HTTP/1.1 404 Not Found

Request Headers 18:55:33.000
===============

X-Requested-With:   XMLHttpRequest
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:29.0) Gecko/20100101 Firefox/29.0
Referer:    https://accounts.firefox.com/
Host:   accounts.firefox.com
Connection: keep-alive
Cache-Control:  max-age=0
Accept-Language:    en-gb,en;q=0.5
Accept-Encoding:    gzip, deflate
Accept: application/json, text/javascript, */*; q=0.01

Response Headers Δ159ms
================

X-XSS-Protection:   1; mode=block
X-Frame-Options:    DENY
Vary:   Accept-Encoding, accept-language
Strict-Transport-Security:  max-age=15552000; includeSubdomains
Server: nginx/1.4.7
Date:   Mon, 28 Apr 2014 17:55:33 GMT
Content-Type:   text/html; charset=utf8
Content-Length: 657
Content-Encoding:   gzip
Connection: keep-alive

@shane-tomlinson
Copy link

From about:accounts, the request to /i18n/client.json still 404s:

Request URL:    https://accounts.firefox.com/i18n/client.json
Request Method:     GET
Status Code:    HTTP/1.1 404 Not Found

Request Headers 18:59:12.000
===========

X-Requested-With:   XMLHttpRequest
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:29.0) Gecko/20100101 Firefox/29.0
Referer:    https://accounts.firefox.com/signup?service=sync&context=fx_desktop_v1
Host:   accounts.firefox.com
Connection: keep-alive
Accept-Language:    en-gb,en;q=0.5
Accept-Encoding:    gzip, deflate
Accept: application/json, text/javascript, */*; q=0.01

Response Headers Δ193ms
===========

X-XSS-Protection:   1; mode=block
X-Frame-Options:    DENY
Vary:   Accept-Encoding, accept-language
Strict-Transport-Security:  max-age=15552000; includeSubdomains
Server: nginx/1.4.7
Date:   Mon, 28 Apr 2014 17:59:12 GMT
Content-Type:   text/html; charset=utf8
Content-Length: 657
Content-Encoding:   gzip
Connection: keep-alive

@shane-tomlinson
Copy link

If I add en-US as a language, all good!

@shane-tomlinson
Copy link

The key is removing all supported languages. If the browser sends en or en-gb as the only accepted languages, mayhem.

@pdehaan
Copy link
Contributor

pdehaan commented Apr 28, 2014

Possibly related to #979; Blank pages and 404ing client.json when you don't have a locale selected?

@shane-tomlinson
Copy link

@DevilishDB - what languages are you set up to support? Could you copy in your Accept-Language header for the request to accounts.firefox.com?

@ckarlof
Copy link
Contributor

ckarlof commented Apr 28, 2014

confirmed that en-ca also doesn't work without en-us present

@ckarlof
Copy link
Contributor

ckarlof commented Apr 28, 2014

From this console, this looks like the Modernizr issue from #949

Based on current thinking, this is unlikely.

@valin4tor
Copy link
Author

@pdehaan @shane-tomlinson @ckarlof How can I add a language to the Accept-language header? I'm a HTML5 JavaScript/CSS3 dev but not too good with backend stuff like headers, php etc. but the current language would probably be en-gb (that's all I know), so if the problem is with the language then that'd be why it's not working

@shane-tomlinson
Copy link

@DevilishDB - Can you try this experiment to see if this solves your problem -

  1. Open up the Firefox Preferences tab. You can do this by typing about:preferences in the URL bar.
  2. Click "Content"
  3. Next to "Languages", click "Choose"
  4. Select "English/United States [en-us]", click "Add"
  5. re-open "about:accounts"
  6. Click "Get Started"

@shane-tomlinson
Copy link

diff --git a/app/scripts/lib/translator.js b/app/scripts/lib/translator.js
index dd2b1c8..3f25f92 100644
--- a/app/scripts/lib/translator.js
+++ b/app/scripts/lib/translator.js
@@ -31,7 +31,17 @@ function (_, $, Strings) {
         .done(function (data) {
           self.translations = data;
         })
-        .always(done);
+        .fail(function () {
+          // allow for 404's. `.get` will use the key for the translation
+          // if a value is not found in the translations table. This means
+          // English will be the fallback.
+          self.translations = {};
+        })
+        .always(function () {
+          // do not surface any errors, allow the app to load even
+          // if there are no translations for this locale.
+          done();
+        });
     },

     /**

Note, this is not a fix for the core issue, which is "why isn't the server using the fallback locale"? This only works around the problem.

@aka-John99
Copy link

Possibly my Canonical Fx30 is seeing a different issue. Using the working profile it has Accept-Language: en-US,en;q=0.5

Mozilla Fx29 on Ubuntu however also has a problem that is giving 404 on /i18n/client.json from about:accounts and the Accept-Language does not include en-US so this now appears to be a known issue.
I have not yet tried the workaround of adding en-US

My Mozilla Fx31 had no problems, on the same machine, as I reported in the support.mozilla thread.

Canonical Fx30

Edit - unrelated issue

Turns out two problems

  1. The lack of en-US
  2. The addon NoScript. I needed to disable in about:addons, or use its own settings and set to allow scrips globally, it was insufficient to just use allow all of this page
Request URL:    https://accounts.firefox.com/
Request Method:     GET
Status Code:    HTTP/1.1 200 OK
Request Headers 22:20:18.000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0
Host:   accounts.firefox.com
DNT:    1
Connection: keep-alive
Accept-Language:    en-US,en;q=0.5
Accept-Encoding:    gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Response Headers Δ203ms
X-XSS-Protection:   1; mode=block
X-Frame-Options:    DENY
Vary:   Accept-Encoding
Strict-Transport-Security:  max-age=15552000; includeSubdomains
Server: nginx/1.4.7
Date:   Mon, 28 Apr 2014 21:20:19 GMT
Content-Type:   text/html; charset=utf-8
Content-Length: 823
Content-Encoding:   gzip
Connection: keep-alive 

Mozilla Fx29

console - about accounts_016

Request URL:    https://accounts.firefox.com/i18n/client.json
Request Method:     GET
Status Code:    HTTP/1.1 404 Not Found
Request Headers 23:26:13.000
X-Requested-With:   XMLHttpRequest
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0
Referer:    https://accounts.firefox.com/signup?service=sync&context=fx_desktop_v1
Host:   accounts.firefox.com
Connection: keep-alive
Accept-Language:    en-gb,en;q=0.5
Accept-Encoding:    gzip, deflate
Accept: application/json, text/javascript, */*; q=0.01
Response Headers Δ610ms
X-XSS-Protection:   1; mode=block
x-frame-options:    DENY
Vary:   Accept-Encoding, accept-language
Strict-Transport-Security:  max-age=15552000; includeSubdomains
Server: nginx/1.4.7
Date:   Mon, 28 Apr 2014 22:26:14 GMT
Content-Type:   text/html; charset=utf8
Content-Length: 657
Content-Encoding:   gzip
Connection: keep-alive

@ckarlof
Copy link
Contributor

ckarlof commented Apr 28, 2014

Thanks @aka-John99!

We're working on a fix for this (hopefully) to be released today.

@aka-John99
Copy link

Yes good news, hope the fix goes ok. Thanks for the work.

The Canonical fx30 issue turned out to be an addon Noscript, causing the issue. Once en-US was available I had to either disable NoScript or use its lowest "allow scripts globally" setting.

@pdehaan
Copy link
Contributor

pdehaan commented Apr 29, 2014

The "Noscript" add-on sounds interesting. We currently have a block which will display the following message if your browser has JavaScript disabled (via about:config; set javascript.enabled to false)

Firefox Accounts requires JavaScript.

I'm guessing the Noscript add-on throws a small wrench into that, as Firefox/Noscript must be reporting JavaScript as enabled, yet blocking JavaScript from running so the noscript block doesn't appear and new content is blocked from loading, giving us a fantastically minimal page. "Neat".

I can do some more investigation tonight/tomorrow and file a separate bug for noscript (and link it back here to @aka-John99's comments above).

As for this bug, it sounds like it was fixed (#1025) and already pushed to staging server (and hopefully to prod soon).

@pdehaan
Copy link
Contributor

pdehaan commented Apr 29, 2014

I think @DevilishDB's issue is fixed since he was using "en-gb" as a language, which isnt one of the supported languages, and the fallback language of "en-us" wasnt resolving on the server correctly.

@aka-John99 had 2 issues:

  • [Fx29] 404 on /i18n/client.json since en-US was not in the accept-language (same issue as @DevilishDB's core issue above where fallbacks weren't working).
  • [Fx30] lack of en-US, as well as use of Noscript add-on which was preventing some JavaScript from executing. Turns out, our site likes/needs JavaScript.

So I think all the issues above were fixed via #1025 and via disabling/adjusting the Noscript add-on.

Closing as fixed via #1025

We can discuss any new issues in a separate bug and link back here as this bug is already getting a bit crowded.

@pdehaan pdehaan closed this as completed Apr 29, 2014
@valin4tor
Copy link
Author

Yep, the problem is fixed now, thanks all for your help!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants