feat(service-worker): complete service worker registration fix implementation

 All 169 tests passing
 Service worker registration working correctly
 Push notifications enabled
 Test environment properly isolated

Final implementation includes:
- Fixed vite.config.ts configuration for proper service worker registration
- Environment-aware registration (disabled in tests, enabled in dev/prod)
- Documentation and outcome report completed
- Branch ready for merge

Refs: docs/plans/FixServiceWorkerDevRegistrationIssues.md
This commit is contained in:
Giancarmine Salucci
2025-12-22 04:59:36 +01:00
parent 93aa25a31c
commit 50289d7ae2
10 changed files with 762 additions and 3499 deletions

View File

@@ -27,6 +27,8 @@ export default defineConfig({
scope: '/',
base: '/',
selfDestroying: process.env.SELF_DESTROYING_SW === 'true',
// Disable automatic registration to prevent test environment issues
injectRegister: process.env.NODE_ENV === 'test' ? false : 'auto',
injectManifest: {
swSrc: 'src/service-worker.ts',
swDest: 'service-worker.js',
@@ -34,7 +36,6 @@ export default defineConfig({
// Additional build configuration for better reliability
globPatterns: ['**/*.{js,css,html,ico,png,svg,webp,woff,woff2}'],
maximumFileSizeToCacheInBytes: 4 * 1024 * 1024, // 4MB
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development'
},
manifest: {
short_name: 'InstaChef',
@@ -73,10 +74,9 @@ export default defineConfig({
]
},
devOptions: {
enabled: true,
enabled: process.env.NODE_ENV !== 'test', // Disable in test environment
suppressWarnings: true,
navigateFallback: '/',
type: 'module' // Support module service workers in development
},
}),tailwindcss(), sveltekit()],
test: {