Spaces:
Sleeping
Sleeping
File size: 2,456 Bytes
917af0c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <!DOCTYPE html>
<html lang="en" data-safe-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Agent Zero — Safe mode</title>
<link rel="icon" href="data:,">
<script>
try {
if (localStorage.getItem("darkMode") === "false") document.documentElement.dataset.safeTheme = "light"
} catch (_) {}
</script>
<style>
html, body { width: 100%; height: 100%; margin: 0; }
html { background: #131313; color: #fff; }
html[data-safe-theme="light"] { background: #fafafa; color: #111; }
body { display: grid; place-items: center; font-family: system-ui, sans-serif; }
main { display: grid; justify-items: center; gap: .75rem; padding: 2rem; text-align: center; }
strong { font-size: 1.15rem; }
p { margin: 0; color: #aaa; }
html[data-safe-theme="light"] p { color: #666; }
</style>
</head>
<body>
<main role="status" aria-live="polite">
<strong>Starting Agent Zero in safe mode</strong>
<p>Disabling the offline worker before loading the application…</p>
</main>
<script>
(() => {
const DIRECT_PARAMETER = "__direct"
const FALLBACK_TIMEOUT_MS = 3000
let navigationStarted = false
const navigateToApp = () => {
if (navigationStarted) return
navigationStarted = true
const target = new URL(location.href)
target.pathname = "/safe"
target.searchParams.set(DIRECT_PARAMETER, "1")
location.replace(target.href)
}
const fallbackTimer = setTimeout(navigateToApp, FALLBACK_TIMEOUT_MS)
const disableServiceWorkers = async () => {
if (!("serviceWorker" in navigator)) return
const registrations = await navigator.serviceWorker.getRegistrations()
await Promise.allSettled(
registrations.map((registration) => registration.unregister()),
)
}
disableServiceWorkers()
.catch((error) => console.warn("Unable to disable service workers.", error))
.finally(() => {
clearTimeout(fallbackTimer)
navigateToApp()
})
})()
</script>
</body>
</html>
|