From c36c3c5342682eaee9a5a135e255686ce40bfc3c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 6 Mar 2026 23:36:48 -0800 Subject: reuse existing tab on notification click, fallback to new tab Co-Authored-By: Claude Opus 4.6 --- src/service-worker.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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); + }), + ); }); -- cgit v1.2.3