fix(ui): register the service worker in production only
SvelteKit's automatic SW registration also runs under `vite dev`, where the worker intercepted/cached the dev-server e2e suite (42 failures). Disable auto-registration (kit.serviceWorker.register: false) and register the worker manually from the root layout guarded by `!dev`, so `vite dev` and the e2e suite run worker-free while the production build — and the PWA preview test — still install it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
import { onMount } from "svelte";
|
||||
import { goto } from "$app/navigation";
|
||||
import { page } from "$app/state";
|
||||
import { dev } from "$app/environment";
|
||||
import { i18n } from "$lib/i18n/index.svelte";
|
||||
import { session } from "$lib/session-store.svelte";
|
||||
import { eventStream } from "../api/events.svelte";
|
||||
@@ -21,6 +22,12 @@
|
||||
|
||||
onMount(() => {
|
||||
void session.init();
|
||||
// Production-only service-worker registration (auto-register is off
|
||||
// in svelte.config.js) so `vite dev` and the dev-server e2e suite
|
||||
// run without the worker intercepting requests.
|
||||
if (!dev && "serviceWorker" in navigator) {
|
||||
void navigator.serviceWorker.register("/service-worker.js");
|
||||
}
|
||||
return () => {
|
||||
eventStream.stop();
|
||||
streamSessionId = null;
|
||||
|
||||
Reference in New Issue
Block a user