I am creating an extension using manifest V3 with a service worker that is set to listen for "webRequest.onBeforeRequest"
chrome.webRequest.onBeforeRequest.addListener(function(requestDetails) { . . . }, { urls: ['<all_urls>'] }, ['requestBody']);
On my personal machine (windows), the extension works as expected and the service worker starts whenever there is a web request in any of the tabs.
However, on our work machines (mac), the web requests do not automatically start the service worker. If I manually start it, it receives the events and functions properly, but as soon as it is stopped due to being idle, it does not re-start on the next web request. If I go to "chrome://serviceworker-internals/", I can see that the service worker is still registered, but is stopped.
My only way of keep the extension functioning has been to keep the developer tools page for the service worker open (via inspecting it), so that it continues to work by simply never stopping.
Is there something specific that I need to to do for mac OS or are there any settings or policies that can limit what events a stopped service-worker can listen for?