Size: a a a

PWA — русскоязычное сообщество

2021 November 20

GK

Gleb Khmyznikov in PWA — русскоязычное сообщество
Надо апп обновить либо через веб
источник
2021 November 21

ВБ

Вадим Бударин... in PWA — русскоязычное сообщество
Кто-нибудь сталкивался с "особенностями" работы сервис-воркера в Firefor?
В хромах все отлично работает но в ФФ висят 2 сервис-воркера причем старый написано остановлен а новый установлен при том что я новому отправляю skipWaiting
источник
2021 November 22

ВБ

Вадим Бударин... in PWA — русскоязычное сообщество
В Firefox оказывается сервис воркер устроен даже не по документации в MDN
self.registration в oninstall не содержит ни waiting ни installing при наличии новой версии!
В этом плане ФФ - это ИЕ а не Сафари!
источник

ВБ

Вадим Бударин... in PWA — русскоязычное сообщество
Погарячился - в Сафари все тоже самое на MacOS что и в ФФ
источник

ВБ

Вадим Бударин... in PWA — русскоязычное сообщество
может кто-нибудь на iOS проверить есть ли эти свойства у регистрации сервис-воркера в обработчике oninstall новом сервис воркере при обновлении?

self.addEventListener('install', function(){
   console.log('installing', self.registration.installing);
   console.log('waiting', self.registration.waiting);
})
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
Добрый день, вообще не заходит в сафари
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
const navigationHandler = async (params) => {
   try {
       // Attempt a network request.
       return await new workbox.strategies.StaleWhileRevalidate({
           cacheName: "navigation-and-route",
           plugins: [
               new workbox.broadcastUpdate.BroadcastUpdatePlugin('workbox-broadcast-update'),
               new workbox.expiration.ExpirationPlugin({
                   maxEntries: 20,
                   maxAgeSeconds: 7 * 24 * 60 * 60, // 1 week
                   purgeOnQuotaError: true,
               }),
           ],
       }).handle(params);
   } catch (error) {
       // If it fails, return the cached HTML.
       return caches.match(FALLBACK_HTML_URL, {
           cacheName: OFFLINE_CACHE_NAME,
       });
   }
};

// Register this strategy to handle all navigations.
workbox.routing.registerRoute(
   new workbox.routing.NavigationRoute(navigationHandler, {
       denylist: [
           new RegExp('admin|cpa|work|map'),
       ],
   })
);

Кто нибудь может подсказать почему при StaleWhileRevalidate кеш  для html не обновляется?
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
не пойму в NavigationRoute только networkFirst использовать нужно?
workbox.broadcastUpdate.BroadcastUpdatePlugin('workbox-broadcast-update') прокидывает уведомление для перезагрузки, перезагружаешь кеш старый. При чем для любых других ресурсов все нормально

workbox.routing.registerRoute(
   ({request, url}) =>
       request.destination === "style",
   new workbox.strategies.StaleWhileRevalidate({
       cacheName: STYLE_CACHE,
       plugins: [
           new workbox.broadcastUpdate.BroadcastUpdatePlugin('workbox-broadcast-update'),
           new workbox.cacheableResponse.CacheableResponsePlugin({
               statuses: [200]
           }),
           new workbox.expiration.ExpirationPlugin({
               maxEntries: 15,
               maxAgeSeconds: 30 * 24 * 60 * 60, // 30 Days
               purgeOnQuotaError: true,
           }),
       ],
   })
);
источник

GK

Gleb Khmyznikov in PWA — русскоязычное сообщество
Если я правильно понимаю то там пока 15 раз не сходишь по этому роуту не обновится
источник

GK

Gleb Khmyznikov in PWA — русскоязычное сообщество
Это из каких-то примеров взято?
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
Привет, это я скинул пример для стилей, там все ок
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
проблема в 1 примере с navigation-and-route
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
честно не помню, где-то нашел и допилил, ходишь по страницам html падает в кеши navigation-and-route, если оффлайн берет этот html из кеша если в кеше нету - открывает оффлайн страницу(то что в catch)
return caches.match(FALLBACK_HTML_URL, {
           cacheName: OFFLINE_CACHE_NAME,
       });
источник

GK

Gleb Khmyznikov in PWA — русскоязычное сообщество
Не все примеры полезные, надо @maxious спросить
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
@maxious добрый день, возможно от вас получить комментарий?
источник

ВБ

Вадим Бударин... in PWA — русскоязычное сообщество
а FALLBACK_HTML_URL имеет версионирование?
как url выглядит?
источник

ВБ

Вадим Бударин... in PWA — русскоязычное сообщество
Коллеги, а кто-нибудь у себя в проектах поддерживает вообще Firefox?
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
Там статическая страница, код могу завтра показать
источник

СП

Сергей Падашуля... in PWA — русскоязычное сообщество
Да, сегодня проверял
источник

ВБ

Вадим Бударин... in PWA — русскоязычное сообщество
url плиз!
источник