/* eslint-disable no-console */ import { register } from "register-service-worker"; // Add debug logging for environment variables console.log('[ServiceWorker] Environment variables:', { VITE_PWA_ENABLED: process.env.VITE_PWA_ENABLED, NODE_ENV: process.env.NODE_ENV, BASE_URL: process.env.BASE_URL, CAN_REGISTER: process.env.VITE_PWA_ENABLED === "true" && process.env.NODE_ENV === "production" }); // Modified condition to handle both string and boolean true if ( process.env.VITE_PWA_ENABLED === "true" && process.env.NODE_ENV === "production" ) { console.log('[ServiceWorker] Attempting to register service worker...'); // Use '/' as fallback if BASE_URL is undefined const baseUrl = process.env.BASE_URL || '/'; register(`${baseUrl}sw.js`, { ready() { console.log("[ServiceWorker] Service worker is active."); }, registered(registration) { console.log("[ServiceWorker] Service worker has been registered:", registration); }, cached(registration) { console.log("[ServiceWorker] Content has been cached for offline use:", registration); }, updatefound(registration) { console.log("[ServiceWorker] New content is downloading:", registration); }, updated(registration) { console.log("[ServiceWorker] New content is available:", registration); }, offline() { console.log("[ServiceWorker] No internet connection found. App is running in offline mode."); }, error(error) { console.error("[ServiceWorker] Error during service worker registration:", error); }, }); } else { console.log( "[ServiceWorker] Registration skipped:", { enabled: process.env.VITE_PWA_ENABLED === "true", production: process.env.NODE_ENV === "production", value: process.env.VITE_PWA_ENABLED, type: typeof process.env.VITE_PWA_ENABLED } ); } export function registerServiceWorker() { // Skip service worker registration in Electron if (window.electronAPI?.isElectron) { console.log("Running in Electron - skipping service worker registration"); return; } // Regular service worker registration for web if ("serviceWorker" in navigator) { // ... existing code ... } }