Skip to content

Commit 04b7e48

Browse files
Update service worker to cache requests
1 parent 35bb25b commit 04b7e48

File tree

4 files changed

+42
-17
lines changed

4 files changed

+42
-17
lines changed

.fvmrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"flutter": "3.16.9",
3+
"flavors": {}
4+
}

web/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ <h1>Flutter&trade; Gradient Generator</h1>
9292

9393
_flutter.loader.load({
9494
serviceWorkerSettings: {
95-
serviceWorkerUrl: './self_destructing_flutter_service_worker.js'
95+
serviceWorkerUrl: './service_worker.js'
9696
},
9797
onEntrypointLoaded: function (engineInitializer) {
9898
engineInitializer.initializeEngine(

web/self_destructing_flutter_service_worker.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

web/service_worker.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
const CACHE_VERSION = "0.0.1";
2+
const CACHE_NAME = `flutter_gradient_generator_${CACHE_VERSION}`;
3+
4+
self.addEventListener("activate", (event) => {
5+
event.waitUntil(
6+
caches.keys().then((keys) => {
7+
return Promise.all(
8+
keys.map((key) => {
9+
if (key !== CACHE_NAME) {
10+
return caches.delete(key);
11+
}
12+
})
13+
);
14+
})
15+
);
16+
});
17+
18+
self.addEventListener("fetch", (event) => {
19+
event.respondWith(
20+
caches.match(event.request).then((response) => {
21+
if (response) {
22+
return response;
23+
}
24+
25+
return fetch(event.request).then((response) => {
26+
if (!response.ok) {
27+
return response;
28+
}
29+
30+
return caches.open(CACHE_NAME).then((cache) => {
31+
cache.put(event.request, response.clone());
32+
return response;
33+
});
34+
});
35+
})
36+
);
37+
});

0 commit comments

Comments
 (0)