PDA

View Full Version : Major Bug Since 12/10 -- Not Fixed. Why?



gordonjl
6 Sep 2011, 7:07 PM
Hi, All,

There is a major, glaring bug in the Sencha Touch framework that has been ignored since at least December of last year (http://www.sencha.com/forum/showthread.php?117844-OPEN-639-ActionSheet-mess-orientation-change-redrawing&p=563306#post563306). I'm writing this to get more visibility for it as my projects that rely on Sencha will not pass QA unless this is fixed (read: I won't get my code released). What is it?

The entire layout of a sencha-touch app mis-renders when any Action Sheet is displayed.

That means menu popups--even if you don't select anything and just cancel out. The only thing that a user can do once this happens is reload the app. Seriously.

It's not just my code, it's in the kitchen sink--probably your app, too. It's extremely simple to reproduce on an actual iPhone (v4.x or 5), but doesn't show an error in the iOS Simulator unless you use 5.0.

Here's the video of the bug in the Kitchen Sink demo ( 3MB )
http://gordonjl.com/files/sencha_bug_639.m4v

Notice how the only way to see the top of the app after the mis-render is to click on the top-most iPhone toolbar, and once anything is clicked in the window, the page snaps back to incorrectly render again. The only way around it is a total reload.

Try it out on your app. If you have the same experience, please reply to this message.

I don' like writing this email, but I need this bug fixed. I filed a ticket back in April, I've re-opened it last week, I've tested against the v1.1.1 release, but nothing is fixing this issue.

Sencha's busy. I get it. But too busy to fix something so fundamentally broken? Come on, Sencha.

ghuntley
6 Sep 2011, 9:03 PM
+1 </subscribe>

ghuntley
7 Sep 2011, 3:44 PM
bump

gordonjl
8 Sep 2011, 5:36 AM
I got a response back from Sencha on my ticket. They haven't addressed the underlying issue--it applies to Sheet and Select components, maybe others--but the fix has solved my immediate issue and I can release my project.

The fix is to destroy the component when the hide() event is fired. I've sub-classed the ActionSheet to satisfy my needs:

Destroying on hide() is fixing my problem. Note that this is happening with my ActionSheet but also affects selects, as you've shown above. I think this workaround will get me across the finish line. Will you prioritize this to be addressed in the next release?




/**
* @class MotTouch.ux.PatchedActionSheet
* @extends Ext.ActionSheet
* A Patch for the currently broken Sheet:http://www.sencha.com/forum/showthread.php?117844-OPEN-639-ActionSheet-mess-orientation-change-redrawing&p=563306
*/
MotTouch.ux.PatchedActionSheet = Ext.extend(Ext.ActionSheet, {


initComponent: function() {

MotTouch.ux.PatchedActionSheet.superclass.initComponent.apply(this, arguments);

this.on('hide',function(sheet){sheet.destroy();});
}
});


Ext.reg('patchedactionsheet', MotTouch.ux.PatchedActionSheet);