-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
As reported on the forum: https://forum.matomo.org/t/firefox-84-promiseerror-securityerror-the-operation-is-insecure/40299/6?u=lukas
This can be reproduced by creating a fresh firefox profile (84.0.2 in my case), and opening forum.matomo.org.
Failed to get service worker registration(s): Storage access is restricted in this context due to user settings or private browsing mode. _application-581e2539c09b2579657fb9679aaeeb510ddf1d491cdaf95d59f45e52559d6843.js:71615:34
Failed to register/update a ServiceWorker for scope ‘https://forum.matomo.org/’: Storage access is restricted in this context due to user settings or private browsing mode. _application-581e2539c09b2579657fb9679aaeeb510ddf1d491cdaf95d59f45e52559d6843.js:71633:34
Failed to register Service Worker: SecurityError: The operation is insecure. _application-581e2539c09b2579657fb9679aaeeb510ddf1d491cdaf95d59f45e52559d6843.js:71635:20
Uncaught (in promise) DOMException: The operation is insecure. _application-581e2539c09b2579657fb9679aaeeb510ddf1d491cdaf95d59f45e52559d6843.js:1
It seems like even if no service worker (for offline tracking) is set up, just trying to communicate with it fails.
Lines 6969 to 6977 in cc25c84
// initialize the Matomo singleton | |
addEventListener(windowAlias, 'beforeunload', beforeUnloadHandler, false); | |
addEventListener(windowAlias, 'online', function () { | |
if (isDefined(navigatorAlias.serviceWorker) && isDefined(navigatorAlias.serviceWorker.ready)) { | |
navigatorAlias.serviceWorker.ready.then(function(swRegistration) { | |
return swRegistration.sync.register('matomoSync'); | |
}); | |
} | |
}, false); |
I guess the solution is either to make sure Matomo doesn't try to communicate with it when offline tracking is not set up (maybe even add an option to the regular tracking code if one wants to use offline tracking) or catch the promise, ignore it and document it in the offline tracking docs.