diff --git a/src/lib/ae_core/core__export.ts b/src/lib/ae_core/core__export.ts index 83b99901..eff8717e 100644 --- a/src/lib/ae_core/core__export.ts +++ b/src/lib/ae_core/core__export.ts @@ -65,4 +65,4 @@ export async function download_export__obj_type({ } return result; -} \ No newline at end of file +} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 56d32466..3c555261 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -346,7 +346,9 @@ $effect(() => { // Added 2026-06-22 to close this gap. // Capture before registering — if null, this is first activation (fresh page load) // and the reload is unnecessary since assets were already fetched without the SW. - const had_controller = !!navigator.serviceWorker.controller; + // Guard must be part of the expression: navigator.serviceWorker doesn't exist on + // browsers without SW support, so accessing .controller before checking would throw. + const had_controller = 'serviceWorker' in navigator && !!navigator.serviceWorker.controller; const on_controller_change = () => { if (had_controller) window.location.reload(); };