aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-07-25 02:47:04 -0700
committerFuwn <[email protected]>2024-07-25 02:47:04 -0700
commit0a924ab042f89090dcb431d34eed34964229637c (patch)
treedc7d9b402c752dbc831aca706804068121bff2e4 /src
parentfix(notifications): allow silent notifications (diff)
downloaddue.moe-0a924ab042f89090dcb431d34eed34964229637c.tar.xz
due.moe-0a924ab042f89090dcb431d34eed34964229637c.zip
chore(service-worker): fix types
Diffstat (limited to 'src')
-rw-r--r--src/service-worker.ts20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/service-worker.ts b/src/service-worker.ts
index 56927647..d7629073 100644
--- a/src/service-worker.ts
+++ b/src/service-worker.ts
@@ -7,7 +7,7 @@ import { build, files, version } from '$service-worker';
import { database } from './lib/Database/IndexedDB/user';
import { notifications } from './lib/Data/AniList/notifications';
-const sw = /** @type {ServiceWorkerGlobalScope} */ /** @type {unknown} */ self;
+const sw = self as unknown as ServiceWorkerGlobalScope;
// Create a unique cache name for this deployment
const CACHE = `cache-${version}`;
@@ -17,7 +17,7 @@ const ASSETS = [
...files // everything in `static`
];
-self.addEventListener('install', (event) => {
+sw.addEventListener('install', (event: ExtendableEvent) => {
// Create a new cache and add all files to it
async function addFilesToCache() {
const cache = await caches.open(CACHE);
@@ -27,7 +27,7 @@ self.addEventListener('install', (event) => {
event.waitUntil(addFilesToCache());
});
-self.addEventListener('activate', (event) => {
+sw.addEventListener('activate', (event) => {
// Remove previous cached data from disk
async function deleteOldCaches() {
for (const key of await caches.keys()) {
@@ -38,7 +38,7 @@ self.addEventListener('activate', (event) => {
event.waitUntil(deleteOldCaches());
});
-self.addEventListener('fetch', (event) => {
+sw.addEventListener('fetch', (event) => {
// ignore POST requests etc
if (event.request.method !== 'GET') return;
@@ -92,13 +92,11 @@ self.addEventListener('fetch', (event) => {
event.respondWith(respond());
});
-self.addEventListener('push', async (e: Event) => {
+sw.addEventListener('push', async (event: PushEvent) => {
if (self.Notification && self.Notification.permission !== 'granted') {
return;
}
- const event = e as PushEvent;
-
try {
const user = (await database.users.toArray()).at(0);
@@ -114,7 +112,7 @@ self.addEventListener('push', async (e: Event) => {
) {
await database.users.update(user.id, { lastNotificationID: recentNotifications[0].id });
- (self as unknown as ServiceWorkerGlobalScope).registration.showNotification('due.moe', {
+ sw.registration.showNotification('due.moe', {
body: `${recentNotifications[0].user.name}${recentNotifications[0].context}`,
icon: recentNotifications[0].user.avatar.large || '/favicon-196x196.png'
});
@@ -132,9 +130,7 @@ self.addEventListener('push', async (e: Event) => {
);
});
-self.addEventListener('notificationclick', (e: Event) => {
- const event = e as NotificationEvent;
-
+sw.addEventListener('notificationclick', (event: NotificationEvent) => {
event.notification.close();
- event.waitUntil(clients.openWindow('https://anilist.co/notifications'));
+ event.waitUntil(sw.clients.openWindow('https://anilist.co/notifications'));
});