Criei o Service Worker abaixo, no entanto ele não tem funcionado como esperado, quando atualizo o SW no Chrome, mesmo forçando a atualização o SW continua carregando os arquivos do cache ao invés do servidor.
let version = "0.1.1"
let arquivos = [
"/",
"css/estilos.css",
"css/opcoesDaPagina.css",
"css/opcoesDoCartao.css",
"css/cabecalho.css",
"css/login.css",
"css/loginForm.css",
"css/loginStatus.css",
"css/cartao.css",
"css/novoCartao.css",
"css/mural.css",
"js/lib/jquery.js",
"js/lib/eventemitter2.js",
"js/lib/KeyBoardNavigation.js",
"js/tags/Tags.js",
"js/cabecalho/mudaLayout.js",
"js/cabecalho/busca.js",
"js/filtro/Filtro.js",
"js/tipos/TiposCartao.js",
"js/cartao/render/Cartao_renderHelpers.js",
"js/cartao/render/CartaoOpcoes_render.js",
"js/cartao/render/CartaoConteudo_render.js",
"js/cartao/render/Cartao_render.js",
"js/cartao/Cartao.js",
"js/login/LoginUsuario_render.js",
"js/login/LoginUsuario.js",
"js/mural/render/Mural_render.js",
"js/mural/Mural.js",
"js/cabecalho/novoCartao.js",
"img/bin.svg",
"img/bin2.svg",
"img/close.svg",
"img/edit.svg",
"img/palette.svg"]
self.addEventListener("activate", function () {
caches.open("pwa-notes-appfiles-" + version).then(cache => {
cache.addAll(arquivos).then(function () {
caches.delete("pwa-notes-appfiles-" + (version-1))
})
})
})
self.addEventListener("fetch", function (event) {
let pedido = event.request
let promisse = caches.match(pedido).then(respotaCache => {
let resposta = respotaCache ? respotaCache : fetch(pedido)
return resposta
})
event.respondWith(promisse)
})
O estranho é que esse comportamento só ocorre no Chrome, no Firefox o SW atualiza corretamente os aquivos... Será que alguém tem um ideia do que possa estar acontecendo?
A aplicação completa está no meu GitHub: https://github.com/fernandoseguim/progressive-web-app-alura