diff --git a/app/src/main.ts b/app/src/main.ts index 4963c2a..d71f8df 100644 --- a/app/src/main.ts +++ b/app/src/main.ts @@ -37,6 +37,12 @@ startApp({ // Hors ligne : le service worker met tout le site en cache. Le navigateur le // refuse hors https (sauf localhost) : l'application marche alors sans. +// Il est enregistré une fois le moteur chargé : si le Worker et le service +// worker téléchargent les données du moteur (8,7 Mo) en même temps, Chromium +// fait échouer l'installation (« Cache.add() encountered a network error »), +// et l'application n'est pas disponible hors ligne. Cela évite aussi de +// télécharger deux fois ces données à la première visite. if ("serviceWorker" in navigator) { - navigator.serviceWorker.register(new URL("../sw.js", import.meta.url)).catch(() => {}); + const sw = new URL("../sw.js", import.meta.url); + worker.ready.then(() => navigator.serviceWorker.register(sw)).catch(() => {}); }