PWA может продолжать показывать старую версию сайта даже после выкладки нового кода. Для пользователя это выглядит как баг: у одних уже новый интерфейс, у других старый.
Такая проблема мешает релизам, поддержке и исправлению критических ошибок, потому что часть аудитории остается на старой версии.
Коротко: нужно настроить стратегию кеширования HTML, версионирование assets и понятное обновление service worker.Почему возникает проблема
Чаще всего service worker кеширует HTML по cache-first, не удаляет старые кеши, не активируется из-за открытых вкладок или assets публикуются без версий.
Что проверяю в первую очередь
- кешируется ли HTML
- меняется ли версия assets
- активируется ли новый service worker
- удаляются ли старые кеши
- видит ли пользователь кнопку обновления
Как исправляю
Я разделяю кеширование shell, assets и API, чтобы новая версия доходила предсказуемо.
- меняю стратегию кеширования HTML
- добавляю версионирование assets
- очищаю старые cache storage
- настраиваю skipWaiting/clientsClaim аккуратно
- показываю пользователю кнопку обновления
Что подготовить перед обращением
- ссылка на сайт или кабинет
- скриншот проблемы
- пример пользователя, заказа или события
- время, когда ошибка повторялась
- доступы или выгрузка логов без лишних персональных данных
Какой результат нужен
После публикации новая версия появляется у пользователей без ручной очистки кеша и без бесконечных перезагрузок.
Чего лучше не делать
Не просите всех чистить кеш браузера. Это обход, а не исправление стратегии обновления.
Вопросы и ответы
Почему обычный сайт обновился, а PWA нет?
PWA обслуживает service worker, который мог вернуть старый кеш.
Можно ли обновлять принудительно?
Можно, но нужно не потерять данные пользователя и не зациклить перезагрузку.
Нужно ли кешировать API?
Только осознанно, особенно если данные персональные или часто меняются.
Нужна похожая задача?
Напишите в Telegram @rabotator_support или оставьте заявку на сайте. Коротко опишите проблему, приложите ссылку, скриншот, лог ошибки или пример заказа, и я подскажу, с чего безопасно начать исправление.
Итог
Обновление PWA зависит от правильной стратегии service worker: HTML, assets, старые кеши и активация должны быть управляемыми.