Atm, the browser caches JS resources via normal cache control and expiry headers. However, the resources are all bundled as adjuncts and adjunct urls have a hash that gets changed after restart, which means all resources need to be reloaded after restart.
See can we come up with a way of loading the resources from URLs that do not change after a restart.
Other possibilities ...
- Look at the use of AssetManager in Jenkins core
- Look at bundling resources in the plugins under the webapp dir (no hash in these URLs).
Note that this will most probably require changes to js-builder and js-modules so that we can "plug in" different resource resolution algos e.g. one specific to Blue Ocean and whatever we do above.