Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Alterações nos arquivos fontes não são consideradas no Application cache, após alteração do manifest

Olá pessoal!

Quando altero algum arquivo fonte (por ex Mural.js), e altero o arquivo ".manifest" pela primeira vez, a alteração é reconhecida (exibe mensagem no console, de atualização do cache) e considerada no Application cache, porém a partir de um segunda alteração em arquivo fonte/ arquivo .manifest, o navegador até reconhece a mudança no arquivo .manifest e parece recarregar os arquivos fontes, porém na prática, o código fonte não é atualizado e nem a mudança em si é considera na aplicação. Para uma nova alteração ser novamente efetiva, existe um intervalo de tempo (algumas horas me parece), porém só a primeira alteração também.

Já atualizei a página mais do que as 2x necessárias após mudança do arq. manifest, tanto com F5, com Ctrl+shift+R, marcando/desmarcando "Disable cache" na aba Network das ferramentas do Desenvolvedor (DevTools) e também nada. O primeiro Refresh após a alteração do arq. manifest é reconhecido, mas o segundo (ou posteriores) Refreshs não são reconhecidos ou, considerando as palavras do instrutor (transcrição da task 05 desta aula), é como se o navegador continuasse "achando" que o usuário ainda está mexendo na página, e desta forma não muda os arquivos para a última versão.

Para garantir, fiz testes também considerando a versão do código deste curso até agora, e acontece a mesma coisa.

Estou utilizando o navegador Chromium versão 73.0.3...

Favor me retornem qual é a mágica/configuração que devo aplicar no navegador para conseguir alterar um arquivo fonte, e após alterar o arquivo ".manifest" e atualizar a página/app 2x, a alteração ser efetivamente aplicada.

Atenciosamente.

4 respostas

Fala aí Elías, tudo bem? Você está alterando a versão dos arquivos?

Não sei se chegou nessa parte do curso ainda, mas, ele vai ensinar sempre apagar tudo e recriar, também irá ensinar um controle de versão.

Espero ter ajudado.

Olá Matheus!

Desculpa, mas não entendi o teu comentário, isto de apagar tudo e recriar.

O que quero dizer é que (a princípio) estou seguindo os passos do curso (vídeos/transcrições desta aula) para esta tarefa, porém o resultado não está sendo o mesmo/esperado (detalhes na mensagem anterior).

Gostaria da vossa ajuda para entender o porquê. Atenciosamente.

solução!

Olá pessoal!

Abaixo o procedimento que resolveu o problema que descrevo neste tópico. Apesar deste procedimento ser uma resposta do instrutor para uma das aulas posteriores (Cache Storage), também aplicou-se à esta situação (Application Cache):

Se o código fonte não estiver sendo atualizado, pode ser que o servidor esteja cacheando o arquivo do Service Worker. Caso esteja usando o http-server recomendado no início do curso, rode-o dizendo que os arquivos terão -1s de tempo de cache, ou seja, não serão cacheados:

http-server -c-1

Apague o cache do navegador e o cache storage e siga o fluxo que estava fazendo para testar esse caso. Confirme se o arquivo do Service Worker foi atualizado. Se sim, tudo deveria funcionar como esperado.

Atenciosamente.

Fala aí Elías, tudo bem? Legal, o problema era no http-server então.

O que eu comentei foi que tem como você configurar um versão do seu cache e caso ela mudar (quando você quiser atualizar) você cria uma rotina para apagar todos os arquivos cacheados e baixar novamente.

Abraços, bons estudos.