PDA

View Full Version : Insane problem in Chrome 30 (only)



harel
4 Oct 2013, 1:08 PM
We are seeing a pretty crazy behaviour of ExtJS 3.4.1.1 (yes, old, I know) in Chrome 30. This only affects this version of Chrome.


The problem is that for CheckboxGroup and RadioGroup elements, with a listener of 'change' events, the event fires twice when the change occurs (i.e., when blurring out of the field).
The first is the group's change event. That is fine. But then it fires a change event from the checkbox/radio itself which is then trying to handle via the group's change handler, causing all sort of unexpected behaviour.
The problem does not exist in versions of Chrome prior to 30.
As well when we try to recreate the problem via jsfiddle, it all works fine.
This example: http://jsfiddle.net/sj8cn/3/ works fine, but similar code in our rather large application causes the above problem in Chrome 30. This is why its also difficult for me to provide a working code example to replicate this.
It's as if the group is allowing events from the checkboxes themselves to then be captured by its own change handler
Please note that we are not overriding anything to do with forms.


Has anyone ran into this?
:((

willigogs
5 Oct 2013, 12:24 AM
Why are you using listeners on the group AND individual radio/checkbox?

If you have a listener on the group, surely you don't need one on the individual component? I'd imagine this would always fire the event twice regardless of what browser is being used.

vaiRk
5 Oct 2013, 2:28 AM
The individual listeners are there for testing, we don't have those on our application.

The way we replicate the issue in our app is as follows: click on a radio, radiogroup's change event fires correctly passing the checked radio as second argument. Then click out, or even again on the same radio (already checked so radiogroup's change event should not fire), radiogroup's change event fires passing true as second parameter.

So the thing is, as soon as the field loses focus the change event fires again and breaks whatever we're trying to achieve with the listener.

slemmon
7 Oct 2013, 12:30 PM
Are you seeing the issue on Mac or PC? Other? Both?

vaiRk
7 Oct 2013, 12:50 PM
Both, Linux too.

As Harel mentioned, this seems to happen only on our app but we are not overriding anything. The app has been running for quite a long time and is the first time we've encountered this issue. Only with chrome 30.

harel
7 Oct 2013, 2:08 PM
If you (Sencha) are interested we could demonstrate this for you.
At the moment we have dealt with the symptom of the problem, i.e., we check each event from the radio/check group 'change' listener to confirm the signature belongs to the group and not check boxes. As well, we will in the near future upgrade to 4.x.
However, we are really curious by this issue and would prefer a real solution and not a symptom-fix-hack.

Jan (HL)
10 Oct 2013, 3:57 AM
I (Chrome 30, OS X) cannot confirm the issue in that fiddle, but I have some Chrome 30 only issues with Ext JS 3.x apps (Sencha's support app and an older legacy app in our company).

I'm still looking for a bug in Chrome (Jira is looking bad, too), but could not something (like the JIT-issue in Firefox 18).