diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/service-worker.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/service-worker.js b/src/service-worker.js index b4c576ba..43f0b60b 100644 --- a/src/service-worker.js +++ b/src/service-worker.js @@ -130,5 +130,12 @@ self.addEventListener("notificationclick", (event) => { const path = event.notification.data.url || "/"; const target = new URL(path, self.location.origin).href; - event.waitUntil(clients.openWindow(target)); + event.waitUntil( + clients.matchAll({ type: "window" }).then((clientList) => { + for (const client of clientList) { + return client.navigate(target).then(() => client.focus()); + } + return clients.openWindow(target); + }), + ); }); |
