Hacker News new | ask | show | jobs
by ravxx 818 days ago
just use a service worker to share state, you would be much better off doing this anyways. saves a ton and is performant.
1 comments

I think you need a SharedWorker for that rather than a service worker https://developer.mozilla.org/en-US/docs/Web/API/SharedWorke...
Shared workers (inexplicably) dont exist on Android Chrome

https://issues.chromium.org/issues/40290702

A service worker would work fine; the connection would be instantiated from the SW and each window/worker could communicate with it via navigator.serviceWorker.
That doesn't work because browsers have duration limits on ServiceWorkers:

https://github.com/w3c/ServiceWorker/issues/980#issuecomment...

Also unfortunately Chrome doesn't keep SharedWorker alive after a navigation (Firefox and Safari do):

https://issues.chromium.org/issues/40284712

Hopefully Chrome will fix this eventually, it really makes it hard to build performant MPAs.

In my experience, as long as a controlled window is communicating with the SW, the connection will remain alive.