summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
author2022-01-09 15:09:04 +0530
committer2022-01-09 15:09:04 +0530
commit3d303f93b32499d445cf8987c2f20fd3079a18be (patch)
treee1f06f57d2a1508850f57441f79ccacd4d24011b /src
parentfixed sw.js (diff)
downloadsudomsg-3d303f93b32499d445cf8987c2f20fd3079a18be.tar
sudomsg-3d303f93b32499d445cf8987c2f20fd3079a18be.tar.gz
sudomsg-3d303f93b32499d445cf8987c2f20fd3079a18be.tar.bz2
sudomsg-3d303f93b32499d445cf8987c2f20fd3079a18be.tar.lz
sudomsg-3d303f93b32499d445cf8987c2f20fd3079a18be.tar.xz
sudomsg-3d303f93b32499d445cf8987c2f20fd3079a18be.tar.zst
sudomsg-3d303f93b32499d445cf8987c2f20fd3079a18be.zip
fixed sw.js
Signed-off-by: Marc Pervaz Boocha <mboocha@sudomsg.xyz>
Diffstat (limited to 'src')
-rw-r--r--src/assets/sw.mjs57
1 files changed, 31 insertions, 26 deletions
diff --git a/src/assets/sw.mjs b/src/assets/sw.mjs
index 97d44bf..2359e0f 100644
--- a/src/assets/sw.mjs
+++ b/src/assets/sw.mjs
@@ -12,43 +12,48 @@ const sw_cache = {
store: VERSION,
}
-self.addEventListener('install', async event => {
+self.addEventListener('install', event => {
self.skipWaiting()
- const cache = await self.caches.open(sw_cache.store);
- event.waitUntil(cache.addAll(sw_cache.default))
+ event.waitUntil((async() => {
+ const cache = await self.caches.open(sw_cache.store)
+ cache.addAll(sw_cache.default)
+ })())
})
-self.addEventListener('activate', async event => {
- const keys = await self.caches.keys()
-
- event.waitUntil(Promise.all(keys.map(key => {
- if (key !== sw_cache.store) {
- return self.caches.delete(key)
- }
- })))
+self.addEventListener('activate', event => {
+ event.waitUntil((async() => {
+ const keys = await self.caches.keys()
+ Promise.all(keys.map(key => {
+ if (key !== sw_cache.store) {
+ return self.caches.delete(key)
+ }
+ }))
+ })())
})
-self.addEventListener('fetch', async event => {
+self.addEventListener('fetch', event => {
if (event.request.method != 'GET') {
return
}
- const a = new URL(event.request.url)
- if (a.origin != self.location.origin) {
+ const req_url = new URL(event.request.url)
+ if (req_url.origin != self.location.origin) {
return
}
- const cacheres = await self.caches.match(event.request)
- if (cacheres !== undefined) {
- event.respondWith(cacheres)
- }
- try {
- const response = await self.fetch(event.request)
- const cache = await self.caches.open(sw_cache.store)
- cache.put(event.request, response.clone())
- event.respondWith(response)
- } catch {
- event.respondWith(self.caches.match(sw_cache.offline))
- }
+ event.respondWith((async() => {
+ const cacheres = await self.caches.match(event.request)
+ return cacheres || (async() => {
+ try {
+ const response = await self.fetch(event.request)
+ const cache = await self.caches.open(sw_cache.store)
+ cache.put(event.request, response.clone())
+ return response
+ } catch {
+ return self.caches.match(sw_cache.offline)
+ }
+ })()
+ })())
+
}) \ No newline at end of file