mirror of
https://github.com/dfpc-coe/CloudTAK.git
synced 2025-12-22 05:37:16 +00:00
Add Individual Calls for Resilience
This commit is contained in:
@@ -10,13 +10,14 @@ self.addEventListener('install', (event) => {
|
||||
event.waitUntil((async () => {
|
||||
const cache = await caches.open(CACHE_NAME);
|
||||
|
||||
const assets = new Set(['/']);
|
||||
|
||||
try {
|
||||
const res = await fetch('./.vite/manifest.json');
|
||||
|
||||
if (res.ok) {
|
||||
const manifest = await res.json();
|
||||
|
||||
const assets = new Set(['/']);
|
||||
|
||||
Object.values(manifest).forEach((entry) => {
|
||||
if (entry.file && !entry.file.endsWith('.html')) {
|
||||
assets.add(entry.file);
|
||||
@@ -30,11 +31,25 @@ self.addEventListener('install', (event) => {
|
||||
assets.add(cssFile);
|
||||
}
|
||||
});
|
||||
|
||||
await cache.addAll(Array.from(assets));
|
||||
}
|
||||
} catch (err) {
|
||||
console.warn('Failed to pre-cache Vite chunks:', err);
|
||||
console.warn('Failed to obtain Vite Manifest:', err);
|
||||
}
|
||||
|
||||
const urls = Array.from(assets);
|
||||
|
||||
const results = await Promise.allSettled(
|
||||
urls.map(url => cache.add(url))
|
||||
);
|
||||
|
||||
onst failedUrls = results
|
||||
.filter(result => result.status === 'rejected')
|
||||
.map((result, index) => urls[index]);
|
||||
|
||||
if (failedUrls.length > 0) {
|
||||
console.error('Failed to cache the following URLs:', failedUrls);
|
||||
} else {
|
||||
console.log('All resources cached successfully.');
|
||||
}
|
||||
})());
|
||||
});
|
||||
|
||||
@@ -168,7 +168,7 @@ export default class AtlasConnection {
|
||||
|
||||
if (this.version !== status.version) {
|
||||
console.log(`Version change detected: ${this.version} -> ${status.version}`);
|
||||
if (self.navigator.serviceWorker) {
|
||||
if ('serviceWorker' in self.navigator) {
|
||||
const registration = await self.navigator.serviceWorker.ready;
|
||||
registration.update();
|
||||
|
||||
@@ -177,7 +177,7 @@ export default class AtlasConnection {
|
||||
console.log('No Service Worker available');
|
||||
}
|
||||
} else {
|
||||
if (self.navigator.serviceWorker) {
|
||||
if ('serviceWorker' in self.navigator) {
|
||||
const regs = await self.navigator.serviceWorker.getRegistrations()
|
||||
|
||||
if (!regs.some(reg => reg.active?.scriptURL.includes(`version=${status.version}`))) {
|
||||
|
||||
Reference in New Issue
Block a user