Fix PWA installability
diff --git a/manifest.json b/manifest.json
index 68259c6..16364dd 100644
--- a/manifest.json
+++ b/manifest.json
@@ -9,48 +9,66 @@
   "background_color": "#ffffff",
   "icons": [
     {
-      "src": "./media/manifest/icon-192x192.png",
+      "src": "./media/manifest/icon-192x192-regular.png",
       "sizes": "192x192",
       "type": "image/png",
-      "purpose": "any maskable"
+      "purpose": "any"
     },
     {
-      "src": "./media/manifest/icon-512x512.png",
+      "src": "./media/manifest/icon-192x192-maskable.png",
+      "sizes": "192x192",
+      "type": "image/png",
+      "purpose": "maskable"
+    },
+    {
+      "src": "./media/manifest/icon-512x512-regular.png",
       "sizes": "512x512",
       "type": "image/png",
-      "purpose": "any maskable"
+      "purpose": "any"
+    },
+    {
+      "src": "./media/manifest/icon-512x512-maskable.png",
+      "sizes": "512x512",
+      "type": "image/png",
+      "purpose": "maskable"
     }
   ],
   "screenshots": [
     {
       "src": "./media/manifest/screenshot-1.png",
       "type": "image/png",
-      "sizes": "1080x1920"
+      "sizes": "1080x1920",
+      "form_factor": "narrow"
     },
     {
       "src": "./media/manifest/screenshot-2.png",
       "type": "image/png",
-      "sizes": "1080x1920"
+      "sizes": "1080x1920",
+      "form_factor": "narrow"
     },
     {
       "src": "./media/manifest/screenshot-3.png",
       "type": "image/png",
-      "sizes": "1080x1920"
+      "sizes": "1080x1920",
+      "form_factor": "narrow"
     },
     {
       "src": "./media/manifest/screenshot-4.png",
       "type": "image/png",
-      "sizes": "1920x1080"
+      "sizes": "1920x1080",
+      "form_factor": "wide"
     },
     {
       "src": "./media/manifest/screenshot-5.png",
       "type": "image/png",
-      "sizes": "1920x1080"
+      "sizes": "1920x1080",
+      "form_factor": "wide"
     },
     {
       "src": "./media/manifest/screenshot-6.png",
       "type": "image/png",
-      "sizes": "1920x1080"
+      "sizes": "1920x1080",
+      "form_factor": "wide"
     }
   ],
   "prefer_related_applications": false,
diff --git a/media/manifest/icon-192x192-maskable.png b/media/manifest/icon-192x192-maskable.png
new file mode 100644
index 0000000..b58c256
--- /dev/null
+++ b/media/manifest/icon-192x192-maskable.png
Binary files differ
diff --git a/media/manifest/icon-192x192-regular.png b/media/manifest/icon-192x192-regular.png
new file mode 100644
index 0000000..ec5a82e
--- /dev/null
+++ b/media/manifest/icon-192x192-regular.png
Binary files differ
diff --git a/media/manifest/icon-192x192.png b/media/manifest/icon-192x192.png
deleted file mode 100644
index 5520213..0000000
--- a/media/manifest/icon-192x192.png
+++ /dev/null
Binary files differ
diff --git a/media/manifest/icon-512x512-maskable.png b/media/manifest/icon-512x512-maskable.png
new file mode 100644
index 0000000..6437af9
--- /dev/null
+++ b/media/manifest/icon-512x512-maskable.png
Binary files differ
diff --git a/media/manifest/icon-512x512-regular.png b/media/manifest/icon-512x512-regular.png
new file mode 100644
index 0000000..3eef1c6
--- /dev/null
+++ b/media/manifest/icon-512x512-regular.png
Binary files differ
diff --git a/media/manifest/icon-512x512.png b/media/manifest/icon-512x512.png
deleted file mode 100644
index df39ee5..0000000
--- a/media/manifest/icon-512x512.png
+++ /dev/null
Binary files differ
diff --git a/service-worker.js b/service-worker.js
index a33f80d..f483bc0 100644
--- a/service-worker.js
+++ b/service-worker.js
@@ -1,7 +1,3 @@
-self.addEventListener('fetch', () => {
-  // Empty fetch event handler to bypass PWA installability criteria (https://web.dev/install-criteria/#criteria).
-});
-
 self.addEventListener('notificationclick', (event) => {
   event.notification.close();
 
diff --git a/tests/permission-request.html b/tests/permission-request.html
index 11b2087..dffbd3e 100644
--- a/tests/permission-request.html
+++ b/tests/permission-request.html
@@ -61,15 +61,14 @@
       let serviceWorkerRegistration;
 
       if ('serviceWorker' in navigator) {
-        window.addEventListener('load', () => {
-          navigator.serviceWorker.register('../service-worker.js')
-            .then(registration => {
-              console.log('Service worker registered successfully', registration);
-              serviceWorkerRegistration = registration;
-            })
-            .catch(error => {
-              console.error('Something went wrong while registering service worker', error);
-            });
+        window.addEventListener('load', async () => {
+          try {
+            const registration = await navigator.serviceWorker.register('../service-worker.js');
+            console.log('Service worker registered successfully', registration);
+            serviceWorkerRegistration = registration;
+          } catch (error) {
+            console.error('Something went wrong while registering service worker', error);
+          }
         });
       }
 
@@ -81,57 +80,56 @@
           url: 'https://google.com',
         },
         image: '../media/manifest/screenshot-4.png',
-        icon: '../media/manifest/icon-192x192.png',
-        badge: '../media/manifest/icon-192x192.png',
+        icon: '../media/manifest/icon-192x192-regular.png',
+        badge: '../media/manifest/icon-192x192-regular.png',
         requireInteraction: false,
         actions: [
           {
             action: 'reply',
             type: 'text',
             title: 'One (Reply)',
-            icon: '../media/manifest/icon-192x192.png',
+            icon: '../media/manifest/icon-192x192-regular.png',
             placeholder: 'Reply placeholder',
           },
           {
             action: 'two',
             type: 'button',
             title: 'Two',
-            icon: '../media/manifest/icon-192x192.png',
+            icon: '../media/manifest/icon-192x192-regular.png',
           },
           {
             action: 'three',
             type: 'button',
             title: 'Three',
-            icon: '../media/manifest/icon-192x192.png',
+            icon: '../media/manifest/icon-192x192-regular.png',
           },
           {
             action: 'four',
             type: 'button',
             title: 'Four',
-            icon: '../media/manifest/icon-192x192.png',
+            icon: '../media/manifest/icon-192x192-regular.png',
           },
           {
             action: 'five',
             type: 'button',
             title: 'Five',
-            icon: '../media/manifest/icon-192x192.png',
+            icon: '../media/manifest/icon-192x192-regular.png',
           },
         ],
       };
 
       const showNotification = () => serviceWorkerRegistration?.showNotification?.(title, options);
 
-      let deferredPrompt;
+      let deferredInstallEvent;
 
       window.addEventListener('beforeinstallprompt', (event) => {
         event.preventDefault();
-        deferredPrompt = event;
+        deferredInstallEvent = event;
         addPermissionButton('../media/textures/install-pwa-button.png', installPWA, 0, 1.54);
       });
 
       const installPWA = async (success, _) => {
-        deferredPrompt?.prompt();
-        const { outcome } = await deferredPrompt?.userChoice;
+        const { outcome } = await deferredInstallEvent?.prompt();
         if (outcome === 'accepted') {
           success();
         }