// Notification click event listener self.addEventListener("notificationclick", (e) => { // Close the notification popout e.notification.close(); // Get all the Window clients e.waitUntil( clients.matchAll({ type: "window" }).then((clientsArr) => { // If a Window tab matching the targeted URL already exists, focus that; const hadWindowToFocus = clientsArr.some((windowClient) => windowClient.url === e.notification.data.url ? (windowClient.focus(), true) : false, ); // Otherwise, open a new tab to the applicable URL and focus it. if (!hadWindowToFocus) clients .openWindow(e.notification.data.url) .then((windowClient) => (windowClient ? windowClient.focus() : null)); }), ); }); async function checkNewMessages() { const cachedCredentials = await caches.open('cachedCredentials'); // Todo... } self.addEventListener('periodicsync', (event) => { if (event.tag === 'check-new-messages') { // Test if periodicSync notification triggers in Mobile app(created via add to homescreen) self.registration.showNotification("Notification via periodicSync"); event.waitUntil(checkNewMessages()); } });