@jvilk opened this Issue on September 14th 2017 Contributor

renderDashboard adds click handlers to #columnPreview divs every time the user visits the dashboard, and never removes them:

https://github.com/piwik/piwik/blob/defc5469a5d4634d64023477a447a31c58812a12/plugins/Dashboard/angularjs/dashboard/dashboard.directive.js#L49

The result is a small memory leak.

Solution

A quick fix is to add the following just before you add the new listeners:

$('#columnPreview').find('>div').off('click');

If you are concerned about the possibility of there being other click handlers installed on the divs, you can namespace your handlers:

$('#columnPreview').find('>div').off('click.renderDashboard');
$('#columnPreview').find('>div').on('click.renderDashboard', ...);
This Issue was closed on October 6th 2017
Powered by GitHub Issue Mirror