Changed .gitignore, and started using service-worker again

This commit is contained in:
Kasper Rynning-Tønnesen
2017-05-03 19:26:02 +02:00
parent c9af861073
commit 730cf0d724
6 changed files with 15 additions and 17 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -89,7 +89,6 @@ var fromFront = false;
var fromChannel = false;
try{
/*
if (navigator.serviceWorker && window.location.host != "zoff.dev") {
navigator.serviceWorker.register('/service-worker.js', {scope: '/'})
.then(function (registration) {
@@ -100,10 +99,10 @@ try{
});
} else {
Helper.log('Service Worker is not supported in this browser.');
}*/
}/*
navigator.serviceWorker.getRegistration('/').then(function(registration) {
registration.unregister();
});
});*/
} catch(e) {}
$().ready(function(){

65
server/public/service-worker.js Executable file
View File

@@ -0,0 +1,65 @@
var version = 'v3.4';
var CACHE_FILES = [
'/assets/html/offline.html',
'/assets/manifest.json',
'/assets/images/favicon.png'
];
self.addEventListener("install", function(event) {
event.waitUntil(
caches
.open(version + '::zoff')
.then(function(cache) {
return cache.addAll(CACHE_FILES);
})
.then(function() {
})
);
});
self.addEventListener("activate", function(event) {
var cacheWhitelist = version;
event.waitUntil(
caches.keys().then(function(keyList) {
return Promise.all(keyList.map(function(key) {
if (!key.startsWith(cacheWhitelist)) {
return caches.delete(key);
}
}));
})
);
});
self.addEventListener('fetch', event => {
if (event.request.mode === 'navigate' ||
(event.request.method === 'GET' &&
(event.request.headers.get('accept').includes('text/html') ||
event.request.headers.get('accept').includes('text/css') ||
(event.request.headers.get('accept').includes('*/*') &&
(event.request.url.includes('localhost') || event.request.url.includes('zoff.me')))))) {
event.respondWith(
fetch(event.request.url).catch(error => {
if(event.request.url.includes('manifest.json')){
return caches.open(version + "::zoff").then(function(cache) {
return cache.match("/assets/manifest.json");
});
} else if (event.request.url.includes('favicon')) {
return caches.open(version + "::zoff").then(function(cache) {
return cache.match("/assets/images/favicon.png");
});
} else if (event.request.url.includes('service-worker')) {
return caches.open(version + "::zoff").then(function(cache) {
return cache.match("/service-worker.js");
});
} else {
return caches.open(version + "::zoff").then(function(cache) {
return cache.match("/assets/html/offline.html");
});
}
})
);
}
});

View File

@@ -104,11 +104,14 @@ app.use(function (req, res, next) {
next();
});
app.use('/service-worker.js', function(req, res) {
res.sendFile(publicPath + '/service-worker.js');
});
app.use('/', router);
app.use('/assets', express.static(publicPath + '/assets'));
/*process.on('uncaughtException', function(e){
console.log("\n" + new Date().toString() + "\n", e.stack || e);
process.exit(1);