Live Playground
This documentation site is itself a Blazor Web App - server-prerendered, then interactive WebAssembly - powered by Bswup. Inspect its service worker, drive the JavaScript API, and watch every lifecycle event arrive in real time.
Open dev tools → Network and switch to Offline, then reload - the app keeps working from cache. Or open this site in a second tab, accept an update there, and watch this tab reload itself onto the new version.
Service worker status
- Service worker
- …
- This page
- …
- Scope
- …
- Active worker
- …
- Update staged
- …
- Storage
- …
Cache buckets
Bswup's buckets are scope-qualified:
bit-bswup:<scope-path> - <version>.
Update lifecycle
checkForUpdate() re-fetches the service worker script; if nothing changed you
will see UPDATE_NOT_FOUND in the log below. skipWaiting()
activates a staged update immediately.
Storage & reset
persistStorage() requests eviction-resistant storage (browsers may prompt or
apply engagement heuristics). forceRefresh() clears this app's caches,
unregisters its worker, and reloads - the last-resort client reset.
Event log
Every BswupMessage raised on this page - fed by a custom handler chained after the
built-in progress UI via the Handler/data-bit-bswup-handler option
(newest first, capped at 200 entries).