fix: remove superfluous service-worker code

This commit is contained in:
Julian Lam
2024-09-25 12:32:35 -04:00
parent f75214bc34
commit 90cc7e61ff

View File

@@ -27,65 +27,3 @@ self.addEventListener('fetch', function (event) {
return response;
}));
});
/**
* The following code is used by nodebb-plugin-web-push
* There is a very strong argument to be made that this is plugin-specific
* code and does not belong in core.
*
* Additional R&D is required to determine how to allow plugins to inject
* code into the service worker.
*/
// Register event listener for the 'push' event.
self.addEventListener('push', function (event) {
// Keep the service worker alive until the notification is created.
const { title, body, tag, data } = event.data.json();
if (title && body) {
const icon = data.icon;
delete data.icon;
const badge = data.badge;
delete data.badge;
event.waitUntil(
self.registration.showNotification(title, { body, tag, data, icon, badge })
);
} else if (tag) {
event.waitUntil(
self.registration.getNotifications({ tag }).then((notifications) => {
notifications.forEach((notification) => {
notification.close();
});
})
);
}
});
self.addEventListener('notificationclick', (event) => {
event.notification.close();
let target;
if (event.notification.data && event.notification.data.url) {
target = new URL(event.notification.data.url);
}
// This looks to see if the current is already open and focuses if it is
event.waitUntil(
self.clients
.matchAll({ type: 'window' })
.then((clientList) => {
// eslint-disable-next-line no-restricted-syntax
for (const client of clientList) {
const { hostname } = new URL(client.url);
if (target && hostname === target.hostname && 'focus' in client) {
client.postMessage({
action: 'ajaxify',
url: target.pathname,
});
return client.focus();
}
}
if (self.clients.openWindow) return self.clients.openWindow(target.pathname);
})
);
});