-
FEATURED COMPONENTS
First time here? Check out the FAQ!
ZK6.5.2 (and 6.5.4), Chrome and Firefox
This issue has came up when my UI got more complex. I have a listbox with a few columns and about 15 rows loaded into <include>. It loads and renders fine. After updating a list model, a few rows are not being removed from the list and are being left on UI, along with new rows from updated model. No javascript errors.
Now fun begins. When I started debugging this issue (with webinspector), I couldn't reproduce it. As soon as I disable debugger and reload page, it appears again. It seems to not be random, but time-related. For sure it happens on client side, since all requests/responses are correct and contains all expected widget uids.
I noticed that despite all rows being rendered, some of them are not registered in widget.js _binds map. Then when client receives an update, related DOM elements are not removed since _binds[uid] is undefined.
The bug seems to be somewhere around mount.js/mtAU() and afterLoad feature, but since I cannot debug it, I'm not sure. Obviously I cannot reproduce it with simple UI with single listbox either, so I cannot provide a test case.
Any ideas?
UPDATE 1:
this is caused by non-unique UUIDs used inside two <include> components I have on the page (one of them contains <listbox>). I'm confused - my understanding was that UUIDs, as name suggests, are unique within single html page.
UPDATE 2:
bug is not occurring after disabling UUID recycling. So it is server side after all. It's not a proper solution though. It seems that recycling is failing when within same request components from one <include> are destroyed and other <include> is populated.
Asked: 2013-09-01 21:47:41 +0800
Seen: 7 times
Last updated: Sep 01 '13