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