Accueil, tutoriel, aide en questions, installation et mise à jour de l'application
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3f5b00133d
commit
441bca1bd7
@@ -10,9 +10,14 @@
|
||||
//
|
||||
// Mise à jour : à chaque publication, VERSION change, donc ce fichier. Le
|
||||
// navigateur installe alors la nouvelle version, qui télécharge tout dans un
|
||||
// nouveau cache, prend la main tout de suite et efface l'ancien cache. La
|
||||
// page déjà ouverte a chargé tous ses fichiers au démarrage : elle continue
|
||||
// sans rien remarquer, et le prochain lancement utilise la nouvelle version.
|
||||
// nouveau cache, puis attend : la version en place garde la main, et son
|
||||
// cache, tant que le joueur n'a pas accepté la mise à jour. Une page ouverte
|
||||
// continue donc de trouver tous ses fichiers. L'application affiche le
|
||||
// bandeau « Nouvelle version disponible » (app/src/ui/updates.ts) ; « Mettre
|
||||
// à jour » envoie le message « skip-waiting » : la nouvelle version prend
|
||||
// la main, efface l'ancien cache, et la page se recharge. À la toute
|
||||
// première installation, aucune version n'est en place : elle prend la main
|
||||
// sans attendre.
|
||||
|
||||
/* global VERSION, FILES */
|
||||
|
||||
@@ -25,11 +30,17 @@ self.addEventListener("install", (event) => {
|
||||
// no-cache : revalider auprès du serveur, jamais une copie
|
||||
// périmée du cache HTTP du navigateur.
|
||||
await cache.addAll(FILES.map((file) => new Request(file, { cache: "no-cache" })));
|
||||
await self.skipWaiting();
|
||||
})(),
|
||||
);
|
||||
});
|
||||
|
||||
// L'accord du joueur (même nom que SKIP_WAITING dans updates.ts).
|
||||
self.addEventListener("message", (event) => {
|
||||
if (event.data?.type === "skip-waiting") {
|
||||
void self.skipWaiting();
|
||||
}
|
||||
});
|
||||
|
||||
self.addEventListener("activate", (event) => {
|
||||
event.waitUntil(
|
||||
(async () => {
|
||||
|
||||
Reference in New Issue
Block a user