Actually I’ve just confirmed that isLoadParallel is the problem – in my app, 
I’ve just deleted the qx cache, every generated artefact and recompiled and I 
immediately get the same list of errors in the console window.  Changing 
isLoadParallel=false fixes the problem.

Interestingly this only seems to occur when the debugger is open; I can 
reproduce this every time if the debugger is open, but if it’s closed during 
app startup then everything’s fine.

I don’t understand how this ever worked because the loader is loading scripts 
with async=true, but AIUI async scripts are run in the order that they become 
available, and not in the order that they were added to the document.    This 
suggests that that if the server happened to return the first script slower 
than the second script then the order would be wrong regardless of the browser 
- but the files are relatively similar in size so perhaps the ordering is 
actually quite predictable in reality and so this problem does not normally 
crop up.

Perhaps a more likely trigger of the problem is whether the script comes from 
the browser’s cache, and how activating the debugger might have subtle effects 
on how the cache operates.  I’ve just cleared Firefox’s cache and refreshed 
with the debugger open and it worked fine – but refresh once more and it’s 
immediately broken.

In  this blog entry http://news.qooxdoo.org/2010/02 there is a description of 
using async loading to load parts in parallel, but then evaluate them in them 
in order – however, it says that for parts the generator wraps the content with 
a closure to allow controlling the evaluation order, but this cannot (and does 
not) happen when loading from source.

John

From:  John Spackman
Reply-To:  qooxdoo Development
Date:  Friday, 9 October 2015 at 07:51
To:  qooxdoo Development
Subject:  Re: [qooxdoo-devel] Firefox 40.x+ / Qooxdoo problems

Hi Matt

I’ve had a few odd issues when debugging with Firefox and the 
source/source-hybrid builds that sound similar, although only when under the 
debugger and not every time.  I couldn’t track it down but it looked at the 
time as though the scripts were loading in the wrong order, and I suspected 
that the parallel loading of the boot script could be at fault.  That first 
error message “invalid key ‘extend’ …” reminds me of that suspicion because the 
superclass is not defined at the time when the browser ties to load the 
subclass.

As an experiment, try modifying your boot script to change 
var isLoadParallel = 'async' in document.createElement('script’);’ 

To just ‘isLoadParallel=false’ and see what happens (your changes will be 
overwritten each time you run the generator, so you can patch original at 
qooxdoo/tool/data/generator/loader.tmpl.js)

John

From:  Matt Davis - NOAA Federal
Reply-To:  qooxdoo Development
Date:  Thursday, 8 October 2015 at 22:05
To:  qooxdoo Development
Subject:  [qooxdoo-devel] Firefox 40.x+ / Qooxdoo problems

Hi Qooxdooers,

My team has been investigating a number of problems which have suddenly cropped 
up with Firefox build > 40.x. I can verify the code base runs fine on the 39.x 
versions, but is throwing so many errors on the current version I'm not sure 
where to start. On the good side, it runs perfectly in IE10, Edge, and Chrome.

We have tried the following: complete browser cache removal, generating with 
qx.debug set to false, and distclean. The problem varies by compilation. Using 
'source' and 'build' seem to be best, although the qx.util.format.DateFormat() 
class is throwing an error with binding (does not seem to be happening in 
playground). 

'source-hybrid' is totally failing, with part of a long error listing starting 
with:

Error: Invalid key "extend" in class "iris.web.Application"! The value is 
undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined MainController.js:9:2

TypeError: qx.ui.container is undefined StatusBar.js:31:2

TypeError: qx.ui.container is undefined MainInterface.js:39:2

Error: Invalid key "extend" in class "qx.ui.splitpane.Pane"! The value is 
undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined Login.js:7:2

TypeError: qx.ui.container is undefined AutoComplete.js:12:2

TypeError: qx.ui.form is undefined iris.web.7be41cc97661.js:34:5

TypeError: qx.ui.container is undefined

I encourage everyone to check their apps against the latest Firefox to see if 
any errors are thrown. Our code base is massive, and it seems like the simpler 
apps (as in the playground) are better off.

Thanks,
Matt

-- 
IRIS/iNWS Technical Lead
Decision Support Branch
Meteorological Development Lab
Office of Science and Technology Integration
National Weather Service, La Crosse, WI

------------------------------------------------------------------------------ 
_______________________________________________ qooxdoo-devel mailing list 
qooxdoo-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
------------------------------------------------------------------------------ 
_______________________________________________ qooxdoo-devel mailing list 
qooxdoo-devel@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to