@jvilk opened this Issue on February 19th 2017 Contributor

I discovered a memory leak in the materialize dependency. Every time you call material_select, the dependency installs a global click handler on window, but never cleans it up.

DataTable calls material_select via handleLimit, which is called every time a new DataTable is created via bindEventsAndApplyStyle. On the default Piwik dashboard, this occurs every time the dashboard is refreshed.

I'm filing this ticket here so you are aware of this leak, if you wish to avoid it at some point. If materialize does not fix this issue, a hackfix could be to remove all jQuery window-level click handlers when the page refreshes

@jvilk commented on February 20th 2017 Contributor

It looks like this is not a bug that materialize is willing to fix. They made a suggestion concerning how you could fix this.

I am unable to help further with this bug, but I hope this information helps you should you decide to look into the leak.

@mattab commented on February 21st 2017 Owner

Thanks @jvilk for all your leaks investigation :+1:
We likely won't fix that as it should be a small leak.

@jvilk commented on September 14th 2017 Contributor

@mattab Materialize fixed this issue in v100.2, if you're willing to upgrade.

https://github.com/Dogfalo/materialize/commit/b6fb319e5265721a5c0ffe0e2674588169f2b3f0

@mattab commented on September 14th 2017 Owner

@jvilk thanks for the notice. Yes, we'd be willing to upgrade, maybe you'd like to open a pull request with the upgraded library? It would automatically run all our UI tests which would help detect any regression automatically. Thanks

This Issue was closed on February 21st 2017
Powered by GitHub Issue Mirror