in webix_debug.js v4.2.4, there are many webix.destructors.push, but never webix.destructors.pop or slice,
so webix.destructors.length always get biger and biger.
and there are still some other place in v4.2.4 will cause memory leak, e.g: some view’s webix.DataStore will not released correctly because webix.destructors hold reference to webix.DataStore, when webix.DataStore(webix.TreeStore) not released, and webix.TreeStore.debug_bind_master hold referenct to the tree, and the tree hold referenct to it’s parent…, this cause memory leaks.
so webix.destructors.length always get biger and biger.
The destructors list is cleared on page unloading. Starting from Webix 4.2 the component nullifies self-reference from destructors list on destruction.
So while the list size is not decreased it contains null references, which can’t cause any memory leak.
You are correct about DataStores though. While components are removing self from the list, stores still present which can lead to the problems. It will be fixed in the next update