But… that only affects new tabs (or refreshes).
You need to claim existing tabs separately.
self.addEventListener('install', (e)=> {
/* ...do stuff to get ready... */
self.skipWaiting(); // <= get new tabs
clients.claim(); // <= + existing tabs
});