You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: template/README.md
+20-16
Original file line number
Diff line number
Diff line change
@@ -1896,16 +1896,32 @@ or unreliable network.
1896
1896
If you do decide to opt-in to service worker registration, please take the
1897
1897
following into account:
1898
1898
1899
+
1. After the initial caching is done, the [service worker lifecycle](https://developers.google.com/web/fundamentals/primers/service-workers/lifecycle)
1900
+
controls when updated content ends up being shown to users. In order to guard against
1901
+
[race conditions with lazy-loaded content](https://github.com/facebook/create-react-app/issues/3613#issuecomment-353467430),
1902
+
the default behavior is to conservatively keep the updated service worker in the "[waiting](https://developers.google.com/web/fundamentals/primers/service-workers/lifecycle#waiting)"
1903
+
state. This means that users will end up seeing older content until they close (reloading is not
1904
+
enough) their existing, open tabs. See [this blog post](https://jeffy.info/2018/10/10/sw-in-c-r-a.html)
1905
+
for more details about this behavior.
1906
+
1907
+
1. Users aren't always familiar with offline-first web apps. It can be useful to
1908
+
[let the user know](https://developers.google.com/web/fundamentals/instant-and-offline/offline-ux#inform_the_user_when_the_app_is_ready_for_offline_consumption)
1909
+
when the service worker has finished populating your caches (showing a "This web
1910
+
app works offline!" message) and also let them know when the service worker has
1911
+
fetched the latest updates that will be available the next time they load the
1912
+
page (showing a "New content is available once existing tabs are closed." message). Showing
1913
+
this messages is currently left as an exercise to the developer, but as a
1914
+
starting point, you can make use of the logic included in [`src/serviceWorker.js`](src/serviceWorker.js), which
1915
+
demonstrates which service worker lifecycle events to listen for to detect each
1916
+
scenario, and which as a default, just logs appropriate messages to the
1917
+
JavaScript console.
1918
+
1899
1919
1. Service workers [require HTTPS](https://developers.google.com/web/fundamentals/getting-started/primers/service-workers#you_need_https),
1900
1920
although to facilitate local testing, that policy
1901
1921
[does not apply to `localhost`](http://stackoverflow.com/questions/34160509/options-for-testing-service-workers-via-http/34161385#34161385).
1902
1922
If your production web server does not support HTTPS, then the service worker
1903
1923
registration will fail, but the rest of your web app will remain functional.
1904
1924
1905
-
1. Service workers are [not supported](https://jakearchibald.github.io/isserviceworkerready/#moar)
1906
-
in older web browsers. Service worker registration [won't be attempted](src/serviceWorker.js)
1907
-
on browsers that lack support.
1908
-
1909
1925
1. The service worker is only enabled in the [production environment](#deployment),
1910
1926
e.g. the output of `npm run build`. It's recommended that you do not enable an
1911
1927
offline-first service worker in a development environment, as it can lead to
@@ -1919,18 +1935,6 @@ following into account:
1919
1935
instructions for using other methods. _Be sure to always use an
1920
1936
incognito window to avoid complications with your browser cache._
1921
1937
1922
-
1. Users aren't always familiar with offline-first web apps. It can be useful to
1923
-
[let the user know](https://developers.google.com/web/fundamentals/instant-and-offline/offline-ux#inform_the_user_when_the_app_is_ready_for_offline_consumption)
1924
-
when the service worker has finished populating your caches (showing a "This web
1925
-
app works offline!" message) and also let them know when the service worker has
1926
-
fetched the latest updates that will be available the next time they load the
1927
-
page (showing a "New content is available; please refresh." message). Showing
1928
-
this messages is currently left as an exercise to the developer, but as a
1929
-
starting point, you can make use of the logic included in [`src/serviceWorker.js`](src/serviceWorker.js), which
1930
-
demonstrates which service worker lifecycle events to listen for to detect each
1931
-
scenario, and which as a default, just logs appropriate messages to the
1932
-
JavaScript console.
1933
-
1934
1938
1. By default, the generated service worker file will not intercept or cache any
1935
1939
cross-origin traffic, like HTTP [API requests](#integrating-with-an-api-backend),
0 commit comments