diff --git a/_framework/Data.pdb.gz b/_framework/Data.pdb.gz index 377a13a..1279eaf 100644 Binary files a/_framework/Data.pdb.gz and b/_framework/Data.pdb.gz differ diff --git a/_framework/Data.wasm b/_framework/Data.wasm index dfc8047..3e8d3ad 100644 Binary files a/_framework/Data.wasm and b/_framework/Data.wasm differ diff --git a/_framework/Data.wasm.br b/_framework/Data.wasm.br index 6557363..9703cfe 100644 Binary files a/_framework/Data.wasm.br and b/_framework/Data.wasm.br differ diff --git a/_framework/Data.wasm.gz b/_framework/Data.wasm.gz index c3d16a7..2487b7e 100644 Binary files a/_framework/Data.wasm.gz and b/_framework/Data.wasm.gz differ diff --git a/_framework/Domain.pdb.gz b/_framework/Domain.pdb.gz index 99b72b9..ebcd76c 100644 Binary files a/_framework/Domain.pdb.gz and b/_framework/Domain.pdb.gz differ diff --git a/_framework/Domain.wasm b/_framework/Domain.wasm index a42b84c..6245a9e 100644 Binary files a/_framework/Domain.wasm and b/_framework/Domain.wasm differ diff --git a/_framework/Domain.wasm.br b/_framework/Domain.wasm.br index 90288ef..ccc5f02 100644 Binary files a/_framework/Domain.wasm.br and b/_framework/Domain.wasm.br differ diff --git a/_framework/Domain.wasm.gz b/_framework/Domain.wasm.gz index 4d3b10a..17e92ea 100644 Binary files a/_framework/Domain.wasm.gz and b/_framework/Domain.wasm.gz differ diff --git a/_framework/Providers.pdb.gz b/_framework/Providers.pdb.gz index bebe4dd..48a2517 100644 Binary files a/_framework/Providers.pdb.gz and b/_framework/Providers.pdb.gz differ diff --git a/_framework/Providers.wasm b/_framework/Providers.wasm index b8a9c7d..cdb409f 100644 Binary files a/_framework/Providers.wasm and b/_framework/Providers.wasm differ diff --git a/_framework/Providers.wasm.br b/_framework/Providers.wasm.br index e7fec1a..df3a456 100644 Binary files a/_framework/Providers.wasm.br and b/_framework/Providers.wasm.br differ diff --git a/_framework/Providers.wasm.gz b/_framework/Providers.wasm.gz index 9c18a75..41458ae 100644 Binary files a/_framework/Providers.wasm.gz and b/_framework/Providers.wasm.gz differ diff --git a/_framework/SideQuest.pdb.gz b/_framework/SideQuest.pdb.gz index 77a6a6b..69540b1 100644 Binary files a/_framework/SideQuest.pdb.gz and b/_framework/SideQuest.pdb.gz differ diff --git a/_framework/SideQuest.wasm b/_framework/SideQuest.wasm index e609310..98ef9a3 100644 Binary files a/_framework/SideQuest.wasm and b/_framework/SideQuest.wasm differ diff --git a/_framework/SideQuest.wasm.br b/_framework/SideQuest.wasm.br index 6ef2ff6..7dc3f72 100644 Binary files a/_framework/SideQuest.wasm.br and b/_framework/SideQuest.wasm.br differ diff --git a/_framework/SideQuest.wasm.gz b/_framework/SideQuest.wasm.gz index b2a740a..6f41f73 100644 Binary files a/_framework/SideQuest.wasm.gz and b/_framework/SideQuest.wasm.gz differ diff --git a/_framework/blazor.boot.json b/_framework/blazor.boot.json index 659b303..53ac7da 100644 --- a/_framework/blazor.boot.json +++ b/_framework/blazor.boot.json @@ -1,7 +1,7 @@ { "mainAssemblyName": "SideQuest", "resources": { - "hash": "sha256-Adi4xrvRp9pPGm/tWeHBMD35mIWcMMvD374OUeSIn/A=", + "hash": "sha256-2DKcNXxy5ZEo0lMlYwi53gCmM9q7WVQmETBdATtI2Rg=", "jsModuleNative": { "dotnet.native.8.0.0.qlwupmnpnx.js": "sha256-8su0dfqXmrR6nSS80nF/thphOx+y1Myj7Zbp7+5wV3Y=" }, @@ -21,8 +21,8 @@ "Blazicons.wasm": "sha256-ZC7nXZivYr+tzxAc9MWzQCwaJzGcdHzGsl+IJx+PAmg=", "BlazorComponentUtilities.wasm": "sha256-3TgvS/HUtEk/6K33ycKciSd5J6RBnSq8vEqA5ZhHjj0=", "Blazored.LocalStorage.wasm": "sha256-xHBGFCMjDjvvTwtMvgaMBNmQk9JdVhGmws2/GMZlxrI=", - "Data.wasm": "sha256-Emu3nuOPZuff24b+tFepeSaXUMukZH5YMxeoSv5WTkY=", - "Domain.wasm": "sha256-aRWyu5l3M5e0GPBfYt7wTZGJMAWXHaNDvJcMO8x6jk0=", + "Data.wasm": "sha256-GhfsquKBENGHI8Tyqmr0y7AykK+lzUip0Yv2fXCD/nw=", + "Domain.wasm": "sha256-/bzcKFIT/NOT3iGqQtU9jmA8G7wQoKQmUoZvGUmgNHw=", "Microsoft.AspNetCore.Components.wasm": "sha256-71+nueIoXMFJul0Jhv92Z0c7YI9VUmcIyMAAuS6hYXE=", "Microsoft.AspNetCore.Components.Web.wasm": "sha256-ivj7kxN8rrhTm1UV0H7dhsOewu6rhATFU2ZAG/YKLvA=", "Microsoft.AspNetCore.Components.WebAssembly.wasm": "sha256-Ws5szf6fWPAXna+XyWsAhavx+WDFcA/91DQ7iPRPCMs=", @@ -38,8 +38,8 @@ "Microsoft.JSInterop.wasm": "sha256-0D9/j6imBAuGTz7kx1gtrH+sg/kiDYF3I1B7Gu68nCM=", "Microsoft.JSInterop.WebAssembly.wasm": "sha256-CQVLCKiSxLN5ghyJZG3mhnMGRROdqrbNUjtAXB0nWb8=", "netstandard.wasm": "sha256-lp6oR1lEBtWPzea+86v2PwX02/RkkCBmUE3dqEtZN8k=", - "Providers.wasm": "sha256-deFdNBJTrBKHazFnAnO0zMp1TXWIxN1vsX1mVMzxGJE=", - "SideQuest.wasm": "sha256-7cEUr0BxTX7Ra22EA2HfSYtm8KsklW5EyyIHQ+L6ZKM=", + "Providers.wasm": "sha256-jtKKHPKMq+yT3t1gdvqP1fn4deqH/xAzjsyks2Pvrqo=", + "SideQuest.wasm": "sha256-OUM+xOexaO/sSu+LOThxO9wSXfKECzwRSGU5kHxCtCk=", "System.Collections.Concurrent.wasm": "sha256-/iT3Y71AMV0IxlknaXWQf8WJXGsB5oDfys+6PzvYG34=", "System.Collections.wasm": "sha256-hTS4UTMfzRYb9h3hkauauLnnrnBbRpM5xctwHpJ+ukE=", "System.ComponentModel.wasm": "sha256-Kg+Te+dUBA6OiPS3uVj+Poyamhf9bMlcL96uc+bTYWc=", diff --git a/_framework/blazor.boot.json.br b/_framework/blazor.boot.json.br index 7cd8553..008ef03 100644 Binary files a/_framework/blazor.boot.json.br and b/_framework/blazor.boot.json.br differ diff --git a/_framework/blazor.boot.json.gz b/_framework/blazor.boot.json.gz index d5b4cbf..b038898 100644 Binary files a/_framework/blazor.boot.json.gz and b/_framework/blazor.boot.json.gz differ diff --git a/service-worker-assets.js b/service-worker-assets.js new file mode 100644 index 0000000..6e2e50c --- /dev/null +++ b/service-worker-assets.js @@ -0,0 +1,233 @@ +self.assetsManifest = { + "assets": [ + { + "hash": "sha256-P2IiUNvJ1NebwaXOD\/X+C1vfaJ7tqHqvFbCc3fmC2Jo=", + "url": "SideQuest.styles.css" + }, + { + "hash": "sha256-rcIWTVNnYus6VWf2Z2U1g\/JzlC07Ym02cFjHtI59Xsc=", + "url": "_framework\/blazor.webassembly.js" + }, + { + "hash": "sha256-GhUDBeylTPHdJKKlfWVTLPy0keFtUZvPAYva+5GOiD4=", + "url": "_framework\/dotnet.js" + }, + { + "hash": "sha256-WdSX3HQvnBYF0KJLZoOyHvTzMHetaob6PV0Kn2K+QXw=", + "url": "_framework\/dotnet.runtime.8.0.0.yv1mnms20m.js" + }, + { + "hash": "sha256-SZLtQnRc0JkwqHab0VUVP7T3uBPSeYzxzDnpxPpUnHk=", + "url": "_framework\/icudt_CJK.dat" + }, + { + "hash": "sha256-8fItetYY8kQ0ww6oxwTLiT3oXlBwHKumbeP2pRF4yTc=", + "url": "_framework\/icudt_EFIGS.dat" + }, + { + "hash": "sha256-L7sV7NEYP37\/Qr2FPCePo5cJqRgTXRwGHuwF5Q+0Nfs=", + "url": "_framework\/icudt_no_CJK.dat" + }, + { + "hash": "sha256-tJMyvJ0Xbtemfq4DKlOkhG9FEbd4HPu+ro6oOt1VsKo=", + "url": "_framework\/blazor.boot.json" + }, + { + "hash": "sha256-8su0dfqXmrR6nSS80nF\/thphOx+y1Myj7Zbp7+5wV3Y=", + "url": "_framework\/dotnet.native.8.0.0.qlwupmnpnx.js" + }, + { + "hash": "sha256-99cGT1eE6Fy\/nYV0bQmxafZLVO1XGfVcYcszDhuBScs=", + "url": "_framework\/dotnet.native.wasm" + }, + { + "hash": "sha256-FWHJLv7p\/JJZaAqt4+cjp7UjzWpqJLSS0nJTQir1090=", + "url": "_framework\/Blazicons.Bootstrap.wasm" + }, + { + "hash": "sha256-ZC7nXZivYr+tzxAc9MWzQCwaJzGcdHzGsl+IJx+PAmg=", + "url": "_framework\/Blazicons.wasm" + }, + { + "hash": "sha256-3TgvS\/HUtEk\/6K33ycKciSd5J6RBnSq8vEqA5ZhHjj0=", + "url": "_framework\/BlazorComponentUtilities.wasm" + }, + { + "hash": "sha256-xHBGFCMjDjvvTwtMvgaMBNmQk9JdVhGmws2\/GMZlxrI=", + "url": "_framework\/Blazored.LocalStorage.wasm" + }, + { + "hash": "sha256-GhfsquKBENGHI8Tyqmr0y7AykK+lzUip0Yv2fXCD\/nw=", + "url": "_framework\/Data.wasm" + }, + { + "hash": "sha256-\/bzcKFIT\/NOT3iGqQtU9jmA8G7wQoKQmUoZvGUmgNHw=", + "url": "_framework\/Domain.wasm" + }, + { + "hash": "sha256-71+nueIoXMFJul0Jhv92Z0c7YI9VUmcIyMAAuS6hYXE=", + "url": "_framework\/Microsoft.AspNetCore.Components.wasm" + }, + { + "hash": "sha256-ivj7kxN8rrhTm1UV0H7dhsOewu6rhATFU2ZAG\/YKLvA=", + "url": "_framework\/Microsoft.AspNetCore.Components.Web.wasm" + }, + { + "hash": "sha256-Ws5szf6fWPAXna+XyWsAhavx+WDFcA\/91DQ7iPRPCMs=", + "url": "_framework\/Microsoft.AspNetCore.Components.WebAssembly.wasm" + }, + { + "hash": "sha256-87sn2TYqgdZ95sXmavjKEzoEfMgHnYQ9LOvnMX+aZcI=", + "url": "_framework\/Microsoft.Extensions.Configuration.Abstractions.wasm" + }, + { + "hash": "sha256-Sxmy2ZS134URxbHEvdbS6NcQ3zXS7UWx\/5ZPpwiW7FA=", + "url": "_framework\/Microsoft.Extensions.Configuration.Json.wasm" + }, + { + "hash": "sha256-jYqHUZ07UYWc8POk7xhas6xQYH7t1qoTcylqoDqncJk=", + "url": "_framework\/Microsoft.Extensions.Configuration.wasm" + }, + { + "hash": "sha256-lJOe6E9Aifk2SAlaa77prPeqDSITu3YcHHKIIl0KM24=", + "url": "_framework\/Microsoft.Extensions.DependencyInjection.Abstractions.wasm" + }, + { + "hash": "sha256-gg8xZqJsBBrrNEyUGzYqhL3sqkuZ4AHAvdTdL9nZ0S0=", + "url": "_framework\/Microsoft.Extensions.DependencyInjection.wasm" + }, + { + "hash": "sha256-+Fgk2a7GOZ76M3YfJ+0IDUowOMx8\/LBnDwuIKQr+\/IA=", + "url": "_framework\/Microsoft.Extensions.Logging.Abstractions.wasm" + }, + { + "hash": "sha256-8BH+kQfjYuZWxprOICXJ4+tU0OdJOYDKN7G0S3zYYHI=", + "url": "_framework\/Microsoft.Extensions.Logging.wasm" + }, + { + "hash": "sha256-daj5vN1mFtjFFrz6DxZyOFiUcuEsE8vIFC4JO8x0Rhs=", + "url": "_framework\/Microsoft.Extensions.Options.wasm" + }, + { + "hash": "sha256-6187ynEahDlSLMBvD4vAmiLpZ3clRb5xu6rM7O8AxNo=", + "url": "_framework\/Microsoft.Extensions.Primitives.wasm" + }, + { + "hash": "sha256-0D9\/j6imBAuGTz7kx1gtrH+sg\/kiDYF3I1B7Gu68nCM=", + "url": "_framework\/Microsoft.JSInterop.wasm" + }, + { + "hash": "sha256-CQVLCKiSxLN5ghyJZG3mhnMGRROdqrbNUjtAXB0nWb8=", + "url": "_framework\/Microsoft.JSInterop.WebAssembly.wasm" + }, + { + "hash": "sha256-lp6oR1lEBtWPzea+86v2PwX02\/RkkCBmUE3dqEtZN8k=", + "url": "_framework\/netstandard.wasm" + }, + { + "hash": "sha256-jtKKHPKMq+yT3t1gdvqP1fn4deqH\/xAzjsyks2Pvrqo=", + "url": "_framework\/Providers.wasm" + }, + { + "hash": "sha256-OUM+xOexaO\/sSu+LOThxO9wSXfKECzwRSGU5kHxCtCk=", + "url": "_framework\/SideQuest.wasm" + }, + { + "hash": "sha256-\/iT3Y71AMV0IxlknaXWQf8WJXGsB5oDfys+6PzvYG34=", + "url": "_framework\/System.Collections.Concurrent.wasm" + }, + { + "hash": "sha256-hTS4UTMfzRYb9h3hkauauLnnrnBbRpM5xctwHpJ+ukE=", + "url": "_framework\/System.Collections.wasm" + }, + { + "hash": "sha256-Kg+Te+dUBA6OiPS3uVj+Poyamhf9bMlcL96uc+bTYWc=", + "url": "_framework\/System.ComponentModel.wasm" + }, + { + "hash": "sha256-0yH0pOU7s8waVbdqOI5oMDGDudjZ5aosp46twJw9Zd8=", + "url": "_framework\/System.Console.wasm" + }, + { + "hash": "sha256-M\/3usaxELuh8N4IiN2GKe2us0NwHutViW54zpLq4iHE=", + "url": "_framework\/System.Linq.wasm" + }, + { + "hash": "sha256-HxWkz7UwBh05wS2ZYKqwyRZs+fF4nOMIesDJVcSZKoQ=", + "url": "_framework\/System.Memory.wasm" + }, + { + "hash": "sha256-TW+R\/9ZQjo0P5f\/2dW64x5N9qU2TArQ0lBXZRc7Oivk=", + "url": "_framework\/System.Net.Http.wasm" + }, + { + "hash": "sha256-bo1gfuHZsgQyxWH2Favd8eHySb2ogILJUiH+LG7ewjI=", + "url": "_framework\/System.Net.Primitives.wasm" + }, + { + "hash": "sha256-ASU7E+Uw6P1K4JgYADR\/KeQOk1Pb5JU+IH\/3cPWOoSQ=", + "url": "_framework\/System.Private.CoreLib.wasm" + }, + { + "hash": "sha256-XgbSOvsJsStVx0OTpXL4hFwFRzNuOQz4n9FkCN5SwIg=", + "url": "_framework\/System.Private.Uri.wasm" + }, + { + "hash": "sha256-8v1T2sHtPVF+DFfHC56eeBb2CK3E+CJ2i\/u+8hAjWtU=", + "url": "_framework\/System.Runtime.InteropServices.JavaScript.wasm" + }, + { + "hash": "sha256-LsQVE382uPmcq3BemSVSfCMh8v863YuEMynwBkoPsek=", + "url": "_framework\/System.Runtime.wasm" + }, + { + "hash": "sha256-PPjgJMbaJy7HmAFbiVQDmuLd+9vm5X5Uxk2KptWctx4=", + "url": "_framework\/System.Text.Encodings.Web.wasm" + }, + { + "hash": "sha256-eE8JOL7MxaeGHwUDgwML2aX5C\/9\/1u2DwGVYgKE\/p5g=", + "url": "_framework\/System.Text.Json.wasm" + }, + { + "hash": "sha256-mOyIX6JsZBaHJtrCaQ05hlms70xsYHznySNPTe25xjI=", + "url": "_framework\/System.Text.RegularExpressions.wasm" + }, + { + "hash": "sha256-uN3FUb3qxxLqHJ83qWylhlf66Ese+jaxRY8VZTBtqh8=", + "url": "_framework\/System.Threading.wasm" + }, + { + "hash": "sha256-yis2dNdJ6e9R472mcuwUOsxBPCQX3snSMmHAL3zu2D8=", + "url": "css\/app.css" + }, + { + "hash": "sha256-z8OR40MowJ8GgK6P89Y+hiJK5+cclzFHzLhFQLL92bg=", + "url": "css\/bootstrap\/bootstrap.min.css" + }, + { + "hash": "sha256-gBwg2tmA0Ci2u54gMF1jNCVku6vznarkLS6D76htNNQ=", + "url": "css\/bootstrap\/bootstrap.min.css.map" + }, + { + "hash": "sha256-JF\/azKK94q01hIBcEajOkLUtGRT0S5g57nltfqV\/ZVU=", + "url": "favicon.png" + }, + { + "hash": "sha256-r\/v6ZF1m64rxEA0PbSQAFJ2SF8yFLwkSDfCLoWVyOLI=", + "url": "index.html" + }, + { + "hash": "sha256-p3e4NcNLwR6F+DEIJ3p\/k1Jr5xEccqj7P11jCRnujto=", + "url": "manifest.json" + }, + { + "hash": "sha256-khoITLYAJmt\/yAAcFCIgPfD3Vx2zIia7L4ZhwZDUhzc=", + "url": "sq.png" + }, + { + "hash": "sha256-B6ynEozfpVMj0w7DgMiYmRUiv6XG0jKARdAvLy0xL5A=", + "url": "_content\/Blazicons\/Blazicons.bundle.scp.css" + } + ], + "version": "RHdXxxRV" +}; diff --git a/service-worker.js b/service-worker.js index 5c42b2d..d0b37b7 100644 --- a/service-worker.js +++ b/service-worker.js @@ -1,7 +1,49 @@ -self.addEventListener('install', async event => { - self.skipWaiting(); -}); +// Caution! Be sure you understand the caveats before publishing an application with +// offline support. See https://aka.ms/blazor-offline-considerations -self.addEventListener('fetch', event => { - return null; -}); +self.importScripts('./service-worker-assets.js'); +self.addEventListener('install', event => event.waitUntil(onInstall(event))); +self.addEventListener('activate', event => event.waitUntil(onActivate(event))); +self.addEventListener('fetch', event => event.respondWith(onFetch(event))); + +const cacheNamePrefix = 'offline-cache-'; +const cacheName = `${cacheNamePrefix}${self.assetsManifest.version}`; +const offlineAssetsInclude = [ /\.dll$/, /\.pdb$/, /\.wasm/, /\.html/, /\.js$/, /\.json$/, /\.css$/, /\.woff$/, /\.png$/, /\.jpe?g$/, /\.gif$/, /\.ico$/, /\.blat$/, /\.dat$/ ]; +const offlineAssetsExclude = [ /^service-worker\.js$/ ]; + +async function onInstall(event) { + console.info('Service worker: Install'); + + // Fetch and cache all matching items from the assets manifest + const assetsRequests = self.assetsManifest.assets + .filter(asset => offlineAssetsInclude.some(pattern => pattern.test(asset.url))) + .filter(asset => !offlineAssetsExclude.some(pattern => pattern.test(asset.url))) + .map(asset => new Request(asset.url, { integrity: asset.hash })); + await caches.open(cacheName).then(cache => cache.addAll(assetsRequests)); +} + +async function onActivate(event) { + console.info('Service worker: Activate'); + + // Delete unused caches + const cacheKeys = await caches.keys(); + await Promise.all(cacheKeys + .filter(key => key.startsWith(cacheNamePrefix) && key !== cacheName) + .map(key => caches.delete(key))); +} + +async function onFetch(event) { + let cachedResponse = null; + if (event.request.method === 'GET') { + // For all navigation requests, try to serve index.html from cache + // If you need some URLs to be server-rendered, edit the following check to exclude those URLs + const shouldServeIndexHtml = event.request.mode === 'navigate'; + + const request = shouldServeIndexHtml ? 'index.html' : event.request; + const cache = await caches.open(cacheName); + cachedResponse = await cache.match(request); + } + + return cachedResponse || fetch(event.request); +} +/* Manifest version: RHdXxxRV */ diff --git a/service-worker.published.js b/service-worker.published.js deleted file mode 100644 index 904511f..0000000 --- a/service-worker.published.js +++ /dev/null @@ -1,48 +0,0 @@ -// Caution! Be sure you understand the caveats before publishing an application with -// offline support. See https://aka.ms/blazor-offline-considerations - -self.importScripts('./service-worker-assets.js'); -self.addEventListener('install', event => event.waitUntil(onInstall(event))); -self.addEventListener('activate', event => event.waitUntil(onActivate(event))); -self.addEventListener('fetch', event => event.respondWith(onFetch(event))); - -const cacheNamePrefix = 'offline-cache-'; -const cacheName = `${cacheNamePrefix}${self.assetsManifest.version}`; -const offlineAssetsInclude = [ /\.dll$/, /\.pdb$/, /\.wasm/, /\.html/, /\.js$/, /\.json$/, /\.css$/, /\.woff$/, /\.png$/, /\.jpe?g$/, /\.gif$/, /\.ico$/, /\.blat$/, /\.dat$/ ]; -const offlineAssetsExclude = [ /^service-worker\.js$/ ]; - -async function onInstall(event) { - console.info('Service worker: Install'); - - // Fetch and cache all matching items from the assets manifest - const assetsRequests = self.assetsManifest.assets - .filter(asset => offlineAssetsInclude.some(pattern => pattern.test(asset.url))) - .filter(asset => !offlineAssetsExclude.some(pattern => pattern.test(asset.url))) - .map(asset => new Request(asset.url, { integrity: asset.hash })); - await caches.open(cacheName).then(cache => cache.addAll(assetsRequests)); -} - -async function onActivate(event) { - console.info('Service worker: Activate'); - - // Delete unused caches - const cacheKeys = await caches.keys(); - await Promise.all(cacheKeys - .filter(key => key.startsWith(cacheNamePrefix) && key !== cacheName) - .map(key => caches.delete(key))); -} - -async function onFetch(event) { - let cachedResponse = null; - if (event.request.method === 'GET') { - // For all navigation requests, try to serve index.html from cache - // If you need some URLs to be server-rendered, edit the following check to exclude those URLs - const shouldServeIndexHtml = event.request.mode === 'navigate'; - - const request = shouldServeIndexHtml ? 'index.html' : event.request; - const cache = await caches.open(cacheName); - cachedResponse = await cache.match(request); - } - - return cachedResponse || fetch(event.request); -}