Hi, We have the following use case: A zone with a ZoneRefresh (located in another zone) is updated several times and then the outer zone is updated with another block. After the update, exceptions are constantly thrown by the javascript PeriodicUpdater on this line "zoneRefresh.fire(Tapestry.ZONE_REFRESH_EVENT)" because the div element that's linked to the zone with Tapestry.Initializer.updateZoneOnEvent is not destroyed and the corresponding timer is also not destroyed.
I think the ZoneRefresh mixin should cleanup after itself in scenarios like this. If someone this this idea is solid and back it up, I'm willing to work on implementing a patch. Clearly the improvement code would be internal (mainly javascript and tests to back it up), and won't involve public API changes. Cheers, Dragan Sahpaski