That's what I had tried once, too. The worker would get requests to get further events and store them locally and all the tabs would just watch the indexedDB for new stuff to show.