935cf433ed
Occasionally, the SW would end up in a broken state where some of the eagerly cached resources of an older version were available in the local cache, but others (such as lazy-loaded bundles) were not. This would leave the app in a broken state and a blank screen would be displayed. See #28114 for a more detailed discussion. This commit takes advantage of the newly introduced (in v11) [SwUpdate#unrecoverable][1] API to detect these bad states and recover by doing a full page reload whenever an [UnrecoverableStateEvent][2] is emitted. Partially addresses #28114. NOTE: Currently, `SwUpdate.unrecoverable` only works if the app has already bootstrapped; i.e. if only lazy-loaded bundles have been purged from the cache. That should be fine in practice, since the cache entries are removed in least-recently-used order. Thus the eagerly loaded bundles will be the last to be removed from the cache (which rarely happens in practice). [1]: https://v11.angular.io/api/service-worker/SwUpdate#unrecoverable [2]: https://v11.angular.io/api/service-worker/UnrecoverableStateEvent PR Close #39651
30 lines
527 B
JSON
Executable File
30 lines
527 B
JSON
Executable File
{
|
|
"aio": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 3033,
|
|
"main-es2015": 447766,
|
|
"polyfills-es2015": 52343
|
|
}
|
|
}
|
|
},
|
|
"aio-local": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 3033,
|
|
"main-es2015": 447975,
|
|
"polyfills-es2015": 52493
|
|
}
|
|
}
|
|
},
|
|
"aio-local-viewengine": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 3153,
|
|
"main-es2015": 431696,
|
|
"polyfills-es2015": 52493
|
|
}
|
|
}
|
|
}
|
|
}
|