I'm being pulled off the ExtJS upgrade project onto other work, but I believe I finally got to the core of the issue. If there is no way for you guys to take any action based on this thread, I suppose I'll have to follow up with premium support at a later date, but there's just no way to extract a standalone issue for you to look at outside of our environment.
But here's the issue:
Our environment includes a wrapper around the Ext namespace, called Sjs, which essentially is an object that has Ext as its prototype, so it inherits everything Ext has. There are some additional overrides that gives us some additional functionality from the Sjs namespace, but they appear to not be contributing to this issue.
What I see happening, however, is that some classes (like Ext.window.MessageBox, for example) are required by a number of other classes that get loaded. However, one location may require 'Ext.window.MessageBox', whereas another class may require 'Sjs.window.MessageBox'. Both of these refer to the same class, just from a different namespace map. So, it seems what is happening is that MessageBox (and a few others) are getting queued up twice (once under Ext and once under Sjs), so when it gets to the second entry and the first one has loaded already, it sees it is already loaded, and skips. It isn't skipping the duplicate entry properly, however, as any callback specified in the Ext.require() call does not get called, and numPendingFiles does not get decremented.
I will see what I can do about making sure all classes get loaded from the same namespace, but the problem is, management does not want "Ext" references in the application code - so Sjs is used - but in the wrapper, before Ext is mapped into our Sjs namespace, a few classes (like MessageBox) are loaded via Ext, since there are some extensions that need to be applied to them once they're in Sjs space. In other words, it may not be possible to ensure the same classes get loaded from the same namespace. Also, as a reminder, this was working fine in 4.0.5. and 4.0.7 and didn't become a problem until 4.1.0.
I'm using architect and my goal is load dinamycally controllers that are linked to "funcion" that are enabled or not to the user.
I test user credential and create a "funcion launch" button, in the same time I try to load a particular controller, for my organization, i set up the controller in Architect with a different "namespace", eg: