Service worker caching, skeletal "offline mode" #212
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a caching library and workbox config. It constrains HTML loading to prevent the downloading of thousands of HTML files upon first visit. Future iterations on this work could explore manual handling of the HTML caching to allow for download of the full site offline with constraints upon resource usage. Right now this defaults to caching only visited pages and limits the cache to 50 html files.
This will cache any assets loaded into an iframe on Firefox and Safari but unfortunately, chromium does not allow caching via service worker or browser of any assets loaded into an iframe using the srcdoc attribute. Further work will be needed to employ a different strategy for the code frame.
In the interim, this PR speeds up site performance significantly.