Just a moment ago, I have updated my Sencha Architect to the build 439. My app used to work pretty well just before the update. After the update, I deployed the app with a very minor change (just an icon url). Then my app crashed on both Chrome and Firefox -not tested on others.
just compared my backup"s model files and the model files produced by build 439.
Build 439 produces model files with "requires" config, which was not possible and could not be done before this build. Now new model files have "requires" config with relations to other model files. I havent specified any "requires" config, it is there automatically and i cannot change it. I have to remove the requires config manually on every deploy...
I think I found what was wrong.
On my hasMany associations of my models, I had "autoload" true. Removed it and loop is gone. (i had cross-references between my models, I think this is why Extjs tried to go back and forth again and again).
This is a very serious bug! Turning off autoLoad does not fix the issue for me, and requires statements are generated for belongsTo associations as well. I have a number of infinite loading loops in my app now and it is totally useless.
This needs to be fixed ASAP as it completely breaks projects!
@Sottilde, can you please confirm that you dont have any cross-associations between your models? Example:
Model1 belongsTo Model2
Model2 hasMany Model1
If you have such a scheme, can you try removing one of associations? This may worth a try. My app is a little bit complex; I would have to create the issue by trying many things again. I will try to reproduce the issue when I have a more suitable time. Perhaps Sottilde could do this for us.
Circular model associations are perfectly valid, and the code that Architect generates should allow it.
I've tried creating a simple test with A->B and B->A associations and cannot reproduce the loading loop. Perhaps there's something else in play, can you attach an archive of the project in question?
Are you not seeing that Model A requires Model B and vice-versa?
I am not clear on why these requires statements are being generated now. They were not being generated in previous versions and that worked fine. IMO they should all be stated in Application and loaded then, instead of this spaghetti loading system.
I don't see why Ext.Loader wouldn't be able to detect that Model A is already loaded when loading Model B.
Is the designer.feedback@sencha email address still open? I am not comfortable with putting our production code on an open forum.