@diosmosis opened this Issue on July 10th 2019 Member

The Tour.getEngagement API method is called on every page load (including modals) even if there is no tour widget visible. Shouldn't need to call it this often, instead it should only be used if there's a tour widget visible.

@tsteur commented on July 10th 2019 Member

@diosmosis there is no such API. I suppose you mean a different API?

@diosmosis commented on July 11th 2019 Member

@tsteur in plugins/Tour/javascripts/engagement.js there's an AJAX call to Tour.getEngagement (though it looks like it could be a controller method?). That's what I was seeing.

@tsteur commented on July 11th 2019 Member

Didn't look too much into it but I reckon this is only once the dashboard was opened and it contains the default dashboard. And it should only do it after the window was focused again (like moved to another tab and then back). Might not be big of an issue but ideally definitely should be only executed when we're on the dashboard and when the widget is on the dashboard.

@sgiehl commented on July 15th 2019 Member

https://github.com/matomo-org/matomo/blob/b3555e1f1efcbb63158e6c116e1fb5c8805851f8/plugins/Tour/templates/engagement.twig#L52-L54

That event isn't actually unloaded when switching the page. So it's executed on every page once the dashboard was loaded with the widget.

Powered by GitHub Issue Mirror