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.
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.
Thanks @Findus23 been debugging this:
seems Firefox does not support "sync" yet see https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/sync
Created https://github.com/matomo-org/matomo/pull/17139 which should fix the issue.
The error should also only happen when the "online" event is triggered meaning when you were offline and become "online".