/* global navigator, window */ (function () { if (!("serviceWorker" in navigator)) return; var version = "docs-v3"; var workerUrl = "/sw.js?v=" + encodeURIComponent(version); if (window.trustedTypes) { try { workerUrl = window.trustedTypes .createPolicy("wrnexus-pwa-recovery", { createScriptURL: function (value) { return value; }, }) .createScriptURL(workerUrl); } catch { // A previously-created policy can make creation fail; the same-origin // string remains valid when Trusted Types enforcement is not active. } } var recover = function () { navigator.serviceWorker .getRegistration() .then(function (registration) { if ( registration && registration.active && registration.active.scriptURL.includes(version) ) { return; } return navigator.serviceWorker.register(workerUrl, { updateViaCache: "none" }); }) .catch(function () {}); }; if ("requestIdleCallback" in window) window.requestIdleCallback(recover, { timeout: 2000 }); else window.setTimeout(recover, 0); })();