aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/sw.ts
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd/src/sw.ts')
-rw-r--r--FrontEnd/src/sw.ts64
1 files changed, 0 insertions, 64 deletions
diff --git a/FrontEnd/src/sw.ts b/FrontEnd/src/sw.ts
deleted file mode 100644
index a43ff9e5..00000000
--- a/FrontEnd/src/sw.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-/// <reference lib="webworker" />
-
-import { precacheAndRoute, matchPrecache } from "workbox-precaching";
-import { registerRoute, setDefaultHandler } from "workbox-routing";
-import {
- NetworkFirst,
- NetworkOnly,
- StaleWhileRevalidate,
-} from "workbox-strategies";
-import { CacheableResponsePlugin } from "workbox-cacheable-response";
-import { ExpirationPlugin } from "workbox-expiration";
-
-declare let self: ServiceWorkerGlobalScope;
-
-self.addEventListener("message", (event) => {
- if (event.data && (event.data as { type: string }).type === "SKIP_WAITING") {
- void self.skipWaiting();
- }
-});
-
-precacheAndRoute(self.__WB_MANIFEST);
-
-const networkOnly = new NetworkOnly();
-
-registerRoute(new RegExp("/swagger/?.*"), new NetworkOnly());
-
-registerRoute(new RegExp("/api/token/?.*"), new NetworkOnly());
-registerRoute(new RegExp("/api/search/?.*"), new NetworkOnly());
-
-registerRoute(
- new RegExp("/api/users/.+/avatar"),
- new StaleWhileRevalidate({
- cacheName: "avatars",
- plugins: [
- new CacheableResponsePlugin({
- statuses: [200],
- }),
- new ExpirationPlugin({
- maxAgeSeconds: 60 * 60 * 24 * 30 * 3, // 3 months
- }),
- ],
- })
-);
-
-registerRoute(
- new RegExp("/api/?.*"),
- new NetworkFirst({
- plugins: [
- new CacheableResponsePlugin({
- statuses: [200],
- }),
- ],
- })
-);
-
-setDefaultHandler((options) => {
- const { request } = options;
-
- if (request instanceof Request && request.destination === "document")
- return matchPrecache("/index.html").then((r) =>
- r == null ? Response.error() : r
- );
- else return networkOnly.handle(options);
-});