From 5aa5956afc219aec347f79d6c19a00874152cb97 Mon Sep 17 00:00:00 2001 From: ekzyis Date: Mon, 15 Sep 2025 22:08:08 +0200 Subject: [PATCH] Use WindowClient.navigate() instead of service worker message (#2294) --- pages/_app.js | 9 --------- sw/index.js | 8 +------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/pages/_app.js b/pages/_app.js index d76a88ac..6c99fc1f 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -60,14 +60,6 @@ export default function MyApp ({ Component, pageProps: { ...props } }) { router.events.on('routeChangeComplete', nprogressDone) router.events.on('routeChangeError', nprogressDone) - const handleServiceWorkerMessage = (event) => { - if (event.data?.type === 'navigate') { - router.push(event.data.url) - } - } - - navigator.serviceWorker?.addEventListener('message', handleServiceWorkerMessage) - if (!props?.apollo) return // HACK: 'cause there's no way to tell Next to skip SSR // So every page load, we modify the route in browser history @@ -90,7 +82,6 @@ export default function MyApp ({ Component, pageProps: { ...props } }) { router.events.off('routeChangeStart', nprogressStart) router.events.off('routeChangeComplete', nprogressDone) router.events.off('routeChangeError', nprogressDone) - navigator.serviceWorker?.removeEventListener('message', handleServiceWorkerMessage) } }, [router.asPath, props?.apollo, shouldShowProgressBar]) diff --git a/sw/index.js b/sw/index.js index 5b3a75b8..dcd52a44 100644 --- a/sw/index.js +++ b/sw/index.js @@ -123,13 +123,7 @@ self.addEventListener('notificationclick', function (event) { .then(clients => { if (clients.length > 0) { const client = clients[0] - return client.focus() - .then(() => { - return client.postMessage({ - type: 'navigate', - url - }) - }) + return client.focus().then(() => client.navigate(url)) } else { return self.clients.openWindow(url) }