aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/service-worker.js9
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);
+ }),
+ );
});