Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#17279 closed defect (fixed)

dojox/css3 transition can have a problem with dojox/app and nested views where the transition hangs.

Reported by: Ed Chatelain Owned by: cjolif
Priority: undecided Milestone: 1.9.2
Component: DojoX App Version: 1.9.1
Keywords: Cc:
Blocked By: Blocking:

Description

There are cases where the css3/transition.js code does not complete the transition, which causes dojox/app to stop doing transitions.

The easiest way to reproduce the problem is probably to update dojox/app/tests/mediaQuery3ColumnApp. Change the config.json to remove lastRight from the "defaultView" for the has check "isInitiallySmall", so after the change it will look like this:

"isInitiallySmall" : {

the view to load when the app is initialized. "defaultView": "navLeft+navCenter"

},

And then from a phone sized browser screen hit the mediaQuery3ColumnApp test with the following params.

dojox/app/tests/mediaQuery3ColumnApp/#navLeft+lastCenter+lastRight

It looks to me like the "on.once(args[args.length-1].node, transitionEndEventName, function(){" on line 348 is not being fired for the "lastRight". I see start() being called for "lastRight", but the on.once(lastRightNode, transitionEndEventName is not being hit, so self.clear for lastRight is not being called. Christophe Jolif has indicated that there are some cases where the transitionEndEvent is not fired, and we have code to try to handle those situations. This case does not seem to be handled.

I have a potential fix for this problem, which has solved the problem for the two people who have reported it, but it involves another setTimeOut which is used in addition to the onOnce, where the setTimeout uses a timeout of the transition duration+50, and inside the timeout it checks to see if the deferred has been fired but not cleared, which would indicate that the onOnce did not fire. In that case clear would be called to indicate that the transition is complete and avoid the hang.

Change History (5)

comment:1 Changed 6 years ago by Ed Chatelain

Owner: set to cjolif
Status: newassigned

comment:2 Changed 6 years ago by Ed Chatelain

Added this pull request with the possible fix: https://github.com/dojo/dojox/pull/16

comment:3 Changed 6 years ago by Ed Chatelain <ed.chatelain@…>

Resolution: fixed
Status: assignedclosed

In 03a1f09cb8149858b3907725db6e3e0fe9d49678/dojox:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:4 Changed 6 years ago by Ed Chatelain <ed.chatelain@…>

In 7d789056a9532993b4691b293ef0f9401a24b53d/dojox:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:5 Changed 6 years ago by Ed Chatelain

Milestone: tbd1.9.2
Note: See TracTickets for help on using tickets.