Offline mode
WiFi切っても
画面遷移できる
リロードできる
実装
GET API向けのHTTP Requestを全てServiceWorkerでハンドルして
NetworkFirstで扱うと、オフライン表示が可能になる
networkに対してrequestし、失敗すればcache
まだ、POSTしただけで再GETしていない物は、POST前の値がcacheに入ってしまっている
解説

が中心となって推進して実装された機能

はなんか細かい矛盾を解決するのをがんばった
単純にUI側にもう1つ offline mode
というstateが増えるので
使えなくなる機能、切り替わる機能がある
今後またそれらが替わる構想もある
どの時点からoffline modeであると見なすかも難しい
networkは接続があるようで、無い場合が多い
navigator.onLine === false
は信用できる
navigator.onLine === true
は信用できない
経路上の不具合、ログイン必要なWiFiにログインしてない等
なんかこう、下手すると今後の機能追加の足かせになりそうな地雷が多い
ServiceWorkerがするべき動作は、本当にそのアプリケーションの性質によって違う
UI上に「今オフラインモードです」と表示してユーザーに意識させるべきかどうか?とかそういう次元から違う