Cykl życia service workera
Fazy, przez które przechodzi service worker — instalacja, aktywacja, a potem praca (fetch) — z celowym stanem „oczekiwania”, przez który nowa wersja nie przejmuje kontroli, dopóki nie zamkną się wszystkie stare karty. Zdradliwy mechanizm i częsta przyczyna pytania „czemu moja PWA się nie aktualizuje?”.
Fazy: install (przygotowanie, np. zapis zasobów w cache), activate (sprzątanie starych cache, przejęcie kontroli), a następnie praca i przechwytywanie żądań sieciowych (fetch). Pułapka: po wdrożeniu nowego service workera instaluje się on, ale trafia w stan waiting — nie aktywuje się, dopóki nie zostaną zamknięte wszystkie karty kontrolowane przez starą wersję (żeby nie podmieniać kodu pod działającą aplikacją). Dlatego użytkownicy często widzą starą wersję aż do zamknięcia wszystkich kart. Do sterowania tym służą skipWaiting() (natychmiastowa aktywacja nowej wersji) i clients.claim() (przejęcie otwartych kart), zwykle w parze z komunikatem „Dostępna nowa wersja, odświeżyć?”. Zrozumienie tego mechanizmu jest kluczowe dla rzetelnych aktualizacji PWA i działania offline.