Кто нибудь использует CRA 3.0.0 + сервисы воркеры?
Использую CRA 3.1.1 и сервис воркеры.
Регистрирую так:
worker.register({
onUpdate: registration => {
const waitingServiceWorker = registration.waiting;
if (waitingServiceWorker) {
waitingServiceWorker.addEventListener('statechange', event => {
if (event.target.state === 'activated') {
window.location.reload();
}
});
waitingServiceWorker.postMessage({ type: 'SKIP_WAITING' });
}
}
});
После того как было загружено обновление, на десктопе все работает отлично. Сервис воркер шлет SKIP_WAITTING и страница перезагружается, кэш сбрасывается.
Но на смартфонах возникают проблемы. Например на Android в хроме, иногда после обновления страницы обновления подгружаются, а иногда кэш намертво лежит. Если говорить про PWA - то там обновление вообще не помогает, ничего не произойдет пока не обновится в самом браузере.
В сафари, отлично обновляется (в браузере), в PWA - мертво, только переустановка.