Service worker should update more aggressively now
This commit is contained in:
parent
7d0816219f
commit
47e23f7d8d
2 changed files with 23 additions and 12 deletions
|
@ -11,6 +11,8 @@ mkdir dist/assets 2> /dev/null
|
|||
|
||||
|
||||
export NODE_OPTIONS="--max-old-space-size=16384"
|
||||
VERSION=$(cat package.json | grep '"version": ' | sed "s/^.*://" | tr -d " \",")
|
||||
sed "s/= \"0.0.0\"/= \"$VERSION\"/" -i public/service-worker.js
|
||||
|
||||
# This script ends every line with '&&' to chain everything. A failure will thus stop the build
|
||||
npm run download:editor-layer-index &&
|
||||
|
@ -32,6 +34,7 @@ fi
|
|||
BRANCH=`git rev-parse --abbrev-ref HEAD`
|
||||
echo "The branch name is $BRANCH"
|
||||
|
||||
|
||||
if [ $BRANCH = "master" ] || [ $BRANCH = "develop" ]
|
||||
then
|
||||
ASSET_URL="./"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const version = "0.0.8-GITHUB-COMMIT"
|
||||
const version = "0.0.0"
|
||||
|
||||
interface ServiceWorkerFetchEvent extends Event {
|
||||
request: RequestInfo & { url: string }
|
||||
|
@ -23,20 +23,27 @@ async function activate() {
|
|||
.catch(console.error)
|
||||
}
|
||||
|
||||
const cacheFirst = async (event) => {
|
||||
function fetchAndCache(event){
|
||||
return fetch(event.request).then((networkResponse) => {
|
||||
return caches.open(version).then((cache) => {
|
||||
cache.put(event.request, networkResponse.clone())
|
||||
console.log("Cached", event.request)
|
||||
return networkResponse
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
const cacheFirst = async (event, attemptUpdate: boolean = false) => {
|
||||
await event.respondWith(
|
||||
caches.match(event.request, { ignoreSearch: true }).then((cacheResponse) => {
|
||||
if (cacheResponse !== undefined) {
|
||||
console.log("Loaded from cache: ", event.request)
|
||||
console.debug("Loaded from cache: ", event.request)
|
||||
if(attemptUpdate){
|
||||
fetchAndCache(event)
|
||||
}
|
||||
return cacheResponse
|
||||
}
|
||||
return fetch(event.request).then((networkResponse) => {
|
||||
return caches.open(version).then((cache) => {
|
||||
cache.put(event.request, networkResponse.clone())
|
||||
console.log("Cached", event.request)
|
||||
return networkResponse
|
||||
})
|
||||
})
|
||||
return fetchAndCache(event)
|
||||
})
|
||||
)
|
||||
}
|
||||
|
@ -59,9 +66,10 @@ self.addEventListener("fetch", async (e) => {
|
|||
origin.hostname !== "127.0.0.1" &&
|
||||
origin.hostname !== "localhost" &&
|
||||
!origin.hostname.endsWith(".local") &&
|
||||
!origin.host.endsWith(".gitpod.io")
|
||||
!origin.host.endsWith(".gitpod.io") &&
|
||||
origin.pathname.indexOf("service-worker") < 0
|
||||
if (!shouldBeCached) {
|
||||
console.log("Not intercepting ", requestUrl.toString(), origin.host, requestUrl.host)
|
||||
console.debug("Not intercepting ", requestUrl.toString(), origin.host, requestUrl.host)
|
||||
// We return _without_ calling event.respondWith, which signals the browser that it'll have to handle it himself
|
||||
return
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue