PDA

View Full Version : [FIXED] The hot update to build 609 destroyed my layouts



CarClub
5 Sep 2012, 2:55 PM
I just allowed the update to update my project and now my stuff all looks awful. Basically you've just destroyed my application.

This was the update from 588 to 609. I allowed the auto updater to run while my project was open. The updater ran. The project reopened and all of the layouts in my application now look awful, many form elements are invisible - zero height or something and there is no rhyme or reason to it.

Sencha Touch 2 app on Mac OS X 10.7.4

I would be very pleased to hear I can go back somehow and that my last month's work is not lost.

aconran
5 Sep 2012, 3:04 PM
CarClub -

Would you be able to share your project with us (privately at architect.feedback at sencha.com) so that we can take a look at it?

CarClub
5 Sep 2012, 3:11 PM
Did the update process archive the original version somewhere nice? (On a Mac)

I've already set about trying to fix it.

maikhorma
5 Sep 2012, 3:32 PM
Not sure if this is the same thing, but happened in my Extjs 4.1 project too. With mine it appears to be specifically with my form panels and the gray theme. All the field labels and the fields themselves are messed up in architect, but when deployed, they display fine. Turns out tweaking the library/css setup seams to solve the issue.

How it wasconfigured (and has been working since the first 2.1 update).
Resources:
- Library{ debug: true, includeCSS: false, libraryBasePath: 'http://resourceserver/pathto/extjs/4.1.0'}
- ext-all-gray.css [a css resource]: {id: null, url: 'http://resourceserver/pathto/extjs/4.1.0/resources/css/ext-all-gray.css'}

As I mentioned this worked until today, but all I had to do was set the Library/Include CSS to true, and now architect displays them property with the gray theme intact. Probably deployment wasn't affected because this setting only has an affect on app.html which I'm not using.

aconran
5 Sep 2012, 3:48 PM
Did the update process archive the original version somewhere nice? (On a Mac)

I've already set about trying to fix it.

Yes, if you upgraded a project it told you where the .xda would be stored during the project upgrade. <ProjectName><DateTime>.xda

aconran
5 Sep 2012, 3:57 PM
Not sure if this is the same thing, but happened in my Extjs 4.1 project too. With mine it appears to be specifically with my form panels and the gray theme. All the field labels and the fields themselves are messed up in architect, but when deployed, they display fine. Turns out tweaking the library/css setup seams to solve the issue.

How it wasconfigured (and has been working since the first 2.1 update).
Resources:
- Library{ debug: true, includeCSS: false, libraryBasePath: 'http://resourceserver/pathto/extjs/4.1.0'}
- ext-all-gray.css [a css resource]: {id: null, url: 'http://resourceserver/pathto/extjs/4.1.0/resources/css/ext-all-gray.css'}

As I mentioned this worked until today, but all I had to do was set the Library/Include CSS to true, and now architect displays them property with the gray theme intact. Probably deployment wasn't affected because this setting only has an affect on app.html which I'm not using.

This is good info. CarClub could you check to make sure this is not the case? The above behavior is working as designed.

spendkar
5 Sep 2012, 6:16 PM
Even I am facing same issue. In my case, I have a panel with Vbox layout. In this panel I have 3 container each having buttons or fields. I also set flex config of those containers. whats happening is the first container shows up in canvas but not other 2 following it. This happened Immediately after the upgrade.

The same does not happen, If I create above in the latest version of architect. this behavior is seen on those project that are created before the hot fix.
below is the example code


Ext.define('MyApp.view.Options', { extend: 'Ext.Panel',


config: {
id: 'OptionsPnl',
ui: 'light',
layout: {
type: 'vbox'
},
modal: false,
scrollable: 'false',
items: [
{
xtype: 'container',
id: 'LockLogoffCnt',
margin: 5,
items: [
{
xtype: 'button',
id: 'CancelTransBtn',
iconCls: 'delete',
iconMask: true,
text: 'Cancel'
},
{
xtype: 'button',
id: 'HoldTransBtn',
text: 'Hold'
}
]
},
{
xtype: 'container',
id: 'LockLogoffCnt',
margin: 5,
items: [
{
xtype: 'button',
id: 'ReprintRcptBtn',
text: 'Reprint'
}
]
},
{
xtype: 'container',
id: 'LockLogoffCnt',
margin: 5,
items: [
{
xtype: 'button',
id: 'LockBtn',
text: 'Lock'
},
{
xtype: 'button',
id: 'LogoffBtn',
text: 'LogOff'
}
]
}
]
}


});

thetallbloke
5 Sep 2012, 7:07 PM
I have the same thing as CarClub..

Aaron, I tried to use the backup .xda file that architect created, but as soon as I try and open that, it screws the layouts again...

Is there any way to either tell Architect NOT to upgrade the project, or to remove the upgrade of Architect..???

I only upgraded architect because of the bug fix where the editor window become read-only... I can live with that over layouts being screwed up... :)


Thanks

btek
5 Sep 2012, 7:32 PM
I was just about to release - literally - wanted to make one more small change - destroyed my project as well!

Scrolling stops working in a bunch fo random screens despite scrolling being set to true.

38493

Blimey!

aconran
5 Sep 2012, 8:29 PM
Even I am facing same issue. In my case, I have a panel with Vbox layout. In this panel I have 3 container each having buttons or fields. I also set flex config of those containers. whats happening is the first container shows up in canvas but not other 2 following it. This happened Immediately after the upgrade.

The same does not happen, If I create above in the latest version of architect. this behavior is seen on those project that are created before the hot fix.
below is the example code


Ext.define('MyApp.view.Options', { extend: 'Ext.Panel',


config: {
id: 'OptionsPnl',
ui: 'light',
layout: {
type: 'vbox'
},
modal: false,
scrollable: 'false',
items: [
{
xtype: 'container',
id: 'LockLogoffCnt',
margin: 5,
items: [
{
xtype: 'button',
id: 'CancelTransBtn',
iconCls: 'delete',
iconMask: true,
text: 'Cancel'
},
{
xtype: 'button',
id: 'HoldTransBtn',
text: 'Hold'
}
]
},
{
xtype: 'container',
id: 'LockLogoffCnt',
margin: 5,
items: [
{
xtype: 'button',
id: 'ReprintRcptBtn',
text: 'Reprint'
}
]
},
{
xtype: 'container',
id: 'LockLogoffCnt',
margin: 5,
items: [
{
xtype: 'button',
id: 'LockBtn',
text: 'Lock'
},
{
xtype: 'button',
id: 'LogoffBtn',
text: 'LogOff'
}
]
}
]
}


});

Did the items previously have a flex associated with them?

aconran
5 Sep 2012, 8:36 PM
Is there any way to either tell Architect NOT to upgrade the project, or to remove the upgrade of Architect..???

You can revert to a prior .ion file by removing the latest 609 build and then declining the update.
http://www.sencha.com/forum/showthread.php?237230-Updated-to-Architect-2.1-now-project-preview-is-blank&p=871683&viewfull=1#post871683

Can you please share your project that fails with us so that we can isolate the issue? I'm nearly certain it has to do with inferred types being incorrect.

aconran
5 Sep 2012, 8:38 PM
I was just about to release - literally - wanted to make one more small change - destroyed my project as well!

Scrolling stops working in a bunch fo random screens despite scrolling being set to true.

38493

Blimey!

The 'auto' type does not seem to be picking up the fact that you meant true and not 'true'. We'll look into it.

spendkar
5 Sep 2012, 9:10 PM
Did the items previously have a flex associated with them?

yes it was , The code I posted is sample code ... which is similar to I have in my project.

aconran
5 Sep 2012, 9:48 PM
yes it was , The code I posted is sample code ... which is similar to I have in my project.

Okay, I did notice in your project that scrollable got set to a string instead of a boolean. We have this fixed. This is also the problem thetallbloke reported. This will be fixed with a hot patch.

I have not been able to reproduce any layout/vbox/flex related issues. This is how i tried to reproduce.

Start 2.1.0 build 588
Start an Ext 4.1.x project
Drag out a Panel
Set the layout to vbox
Put three panels in the top level panel
Their flex should already be set to 1
Save the project

Check the project into source control

Start 2.1.0 Build 609
Open the saved project
See upgrade happen
Works as expected
The project remains the same on disk minus some housekeeping bits we set regarding xdsBuild and upgradeVersion.

We're eager to fix this immediately, any feedback you can give us to reproduce will help us.

Thanks,

pcki11
6 Sep 2012, 3:03 AM
My project failed to load completely after update, and as it turned out the problem was that 'animation' property in my tab panel view was explicitly set to 'false'. I removed the value with the 'X' button in that field in Architect and application started to load. In the .js file the value of animation changed from string 'false' to boolean false.
P.S. There is no way to change animation property type.

The error that i got was

Uncaught TypeError: Cannot call method 'substring' of null
stack trace:

Ext.ClassManager.parseNamespace (sencha-touch-all.js:2031)Ext.ClassManager.get (sencha-touch-all.js:2093)
Ext.ClassManager.instantiate (sencha-touch-all.js:2201)
Ext.apply.factory (sencha-touch-all.js:3134)
Ext.define.constructor (sencha-touch-all.js:11440)
Ext.apply.create.f (sencha-touch-all.js:1752)
Ext.define.applyAnimation (sencha-touch-all.js:12076)
Ext.apply.generateSetter.j (sencha-touch-all.js:1842)
b.implement.initConfig (sencha-touch-all.js:1654)
Ext.define.constructor (sencha-touch-all.js:11825)
b.implement.callParent (sencha-touch-all.js:1609)
Ext.define.constructor (sencha-touch-all.js:12053)
b.implement.callParent (sencha-touch-all.js:1609)
Ext.define.constructor (sencha-touch-all.js:12073)
Ext.apply.create.f (sencha-touch-all.js:1752)
Ext.define.constructor (sencha-touch-all.js:12140)
Ext.apply.create.f (sencha-touch-all.js:1752)
Ext.define.onFirstItemAdd (sencha-touch-all.js:20541)
Ext.define.doAdd (sencha-touch-all.js:20600)
Ext.define.add (sencha-touch-all.js:20582)
Ext.define.applyItems (sencha-touch-all.js:20523)
Ext.apply.generateSetter.j (sencha-touch-all.js:1842)
Ext.apply.generateInitGetter (sencha-touch-all.js:1859)
Ext.define.applyActiveItem (sencha-touch-all.js:20822)
(anonymous function) (sencha-touch-all.js:9217)
b.implement.initConfig (sencha-touch-all.js:1654)
Ext.define.constructor (sencha-touch-all.js:17446)
b.implement.callParent (sencha-touch-all.js:1609)
Ext.define.constructor (sencha-touch-all.js:20430)
Ext.apply.create.f (sencha-touch-all.js:1752)
(anonymous function) (:2)
Ext.ClassManager.instantiate (sencha-touch-all.js:2223)
Ext.ClassManager.instantiateByAlias (sencha-touch-all.js:2197)
Ext.apply.factory (sencha-touch-all.js:3119)
Ext.define.factoryItem (sencha-touch-all.js:20556)
Ext.define.add (sencha-touch-all.js:20581)
Ext.define.applyItems (sencha-touch-all.js:20523)
Ext.apply.generateSetter.j (sencha-touch-all.js:1842)
Ext.apply.generateInitGetter (sencha-touch-all.js:1859)
Ext.define.applyActiveItem (sencha-touch-all.js:20822)
(anonymous function) (sencha-touch-all.js:9217)
b.implement.initConfig (sencha-touch-all.js:1654)
Ext.define.constructor (sencha-touch-all.js:17446)
b.implement.callParent (sencha-touch-all.js:1609)
Ext.define.constructor (sencha-touch-all.js:20430)
Ext.apply.create.f (sencha-touch-all.js:1752)
(anonymous function) (:2)
Ext.ClassManager.instantiate (sencha-touch-all.js:2223)
(anonymous function) (sencha-touch-all.js:1158)
Ext.application.launch (app.js:59)
Ext.define.onDependenciesLoaded (sencha-touch-all.js:9632)
Ext.apply.require (sencha-touch-all.js:2636)
(anonymous function) (sencha-touch-all.js:1158)
Ext.define.loadControllerDependencies (sencha-touch-all.js:9621)
Ext.apply.refreshQueue (sencha-touch-all.js:2492)
Ext.apply.refreshQueue (sencha-touch-all.js:2493)
Ext.apply.refreshQueue (sencha-touch-all.js:2493)
Ext.apply.onFileLoaded (sencha-touch-all.js:2672)
(anonymous function) (sencha-touch-all.js:1154)
Ext.apply.injectScriptElement.k (sencha-touch-all.js:2502)

thetallbloke
6 Sep 2012, 4:39 AM
Aaron,

I think I also noticed that some values for "right" were set to strings rather than numeric values.. they had single quotes added around them in the code.

Left/Top/Bottom didn't seem to be affected.

aconran
6 Sep 2012, 9:02 AM
Aaron,

I think I also noticed that some values for "right" were set to strings rather than numeric values.. they had single quotes added around them in the code.

Left/Top/Bottom didn't seem to be affected.

Good catch, this is fixed in build 613.

CarClub
6 Sep 2012, 1:47 PM
I emailed you the <ProjectName>20120905154029.xda file I found in the parent directory of my project.

I did the downgrade and now I have build 588 back it seems.

However the build 588 cannot open this xda file as it complains it was created by a later version of Architect.

So I'm still screwed and still on the hook for an update tomorrow and your update has been a disaster all around.

Also, the appearance of many screen widgets changed - this is a disaster as my app is very tightly designed to the screen and nothing fits anymore.

Please tell me how to get my code back.

btek
6 Sep 2012, 6:10 PM
I have the new new patch ... things seem to be working again. Thanks Guys.

maikhorma
6 Sep 2012, 6:40 PM
CarClub, just trying to help you get back on your feet:

Does your problem extend to deployed resources? Whatever it looks like in architect, deploy your app and let us know what it looks like, version of extjs, and exact extjs css it is using. From my limited experience an "everything breaks at once" scenario is either due to some problem with the main extjs js or extjs css import.

If it's not that, then it seems like there is an added css or js that could be blowing everything up. Is it possible to remove any extra css/js and just see if your problems go away (of course you may lose some functionality, but you will least know where the problem is)

Even if you can't open the (assumed working) xda file in whatever version you currently have installed. Dig in and look at your metadata files and try and find what's so different that would cause everything to break.

What do you mean by "appearance of screen widgets changed"? Upgrading architect shouldn't have much impact on what your deployed views look like if you're using the same extjs framework. Again, vast unexpected changes sounds like a primary css issue. It's not like they deployed a minor release of architect that was meant to completely change how extjs looks.

Finally, PLEASE use some sort of source control!!! You shouldn't trust your tool upgrades or your computer hardware to maintain a month worth of work. If your hard drive died tonight you'd be even more screwed than you are now.

aconran
7 Sep 2012, 7:34 AM
Confirmed via email that CarClub's project is fixed after upgrading to 613.

azuroff
7 Sep 2012, 8:42 AM
Is build 613 publicly available yet?

It sounds like I should skip the upgrade to build 609, correct?

aconran
7 Sep 2012, 8:57 AM
Yes, install the update it presents you. It will say its build 609 but it really will be 613.

We're having a little bit of a problem with syncing our changelog on the webserver.