Как внести изменения и сделать deploy в код PWA приложение?
У меня два вопроса.
1. Как часто обновляется кеш приложения PWA, если ничего не делать? Например, браузер по умолчанию это сделает сам раз в день, неделю или другой срок? Или это можно как-то указать в манифесте?
2. Как принудительно заставить обновить приложение, после того, как была загружена новая версия? Это делает service-worker.js? Каким об должен быть, чтобы он проверял версию по дате создания.
Я думал, что это работает так: при открытии приложения (если есть интернет) с сервера загружается только service-worker.js а дальше service-worker.js либо загружается все из кеша, либо, если дата изменения файла (взятая из заголовка nginx) изменилась - загружает все заново.
Тем не менее, я делаю деплой, открывают приложение в браузере, но оно старое. Вижу что запрос service-worker.js на сервер делается. Кроме чистки кеша приложения ничего не помогает.
Если манифест на сервере поменять хотя бы на байт, то в течение суток приложение гарантированно обновится (при наличии инета естественно).
А так точно помню, что делал кнопку обновления приложения в фоне ещё до изобретения всяких сервис воркеров. Но это было так давно, что уже не скажу, какой был механизм. Как-то проверялось, есть обновление или нет, и выводилось пользователю в настройках приложения, и далее он мог обновиться при желании.