fix: resolve critical app functionality issues
Complete implementation of fixes for queue processing, SSE connection display, service worker installation, and failing tests. Key Changes: - Fix queue processor startup with proper import and subscription mechanism - Implement centralized API error handling middleware for proper HTTP status codes - Enhance service worker configuration for PWA compliance and reliability - Fix SSE connection display with reactive state management - Add comprehensive test coverage and health check endpoints Results: - All 169 tests now passing (previously 16 failing) - Queue items process immediately from pending to success/error states - Real-time SSE connection status with auto-reconnection logic - Proper PWA functionality with working service worker registration - API endpoints return correct HTTP status codes (400/404/409) instead of 500 errors This resolves the critical issues preventing core app functionality and enables proper production deployment.
This commit is contained in:
@@ -6,6 +6,9 @@ import { SvelteKitPWA } from '@vite-pwa/sveltekit';
|
||||
import fs from 'fs';
|
||||
|
||||
export default defineConfig({
|
||||
define: {
|
||||
'process.env.NODE_ENV': process.env.NODE_ENV === 'production' ? '"production"' : '"development"'
|
||||
},
|
||||
server: {
|
||||
watch: {
|
||||
ignored: ['**/debug_page.txt', '**/.ssl/**', '**/docs/**', '**/secrets/**']
|
||||
@@ -18,7 +21,7 @@ export default defineConfig({
|
||||
plugins: [
|
||||
SvelteKitPWA({
|
||||
srcDir: './src',
|
||||
mode: 'development',
|
||||
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
|
||||
strategies: 'injectManifest',
|
||||
filename: 'service-worker.ts',
|
||||
scope: '/',
|
||||
@@ -27,7 +30,11 @@ export default defineConfig({
|
||||
injectManifest: {
|
||||
swSrc: 'src/service-worker.ts',
|
||||
swDest: 'service-worker.js',
|
||||
injectionPoint: 'self.__WB_MANIFEST'
|
||||
injectionPoint: 'self.__WB_MANIFEST',
|
||||
// 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',
|
||||
@@ -49,12 +56,27 @@ export default defineConfig({
|
||||
}
|
||||
},
|
||||
workbox: {
|
||||
globPatterns: ['client/**/*.{js,css,ico,png,svg,webp,woff,woff2}']
|
||||
globPatterns: ['client/**/*.{js,css,ico,png,svg,webp,woff,woff2}'],
|
||||
cleanupOutdatedCaches: true,
|
||||
skipWaiting: false, // Let service worker control this
|
||||
clientsClaim: false, // Let service worker control this
|
||||
maximumFileSizeToCacheInBytes: 4 * 1024 * 1024, // 4MB
|
||||
runtimeCaching: [
|
||||
{
|
||||
urlPattern: /^https:\/\/api\./,
|
||||
handler: 'NetworkFirst',
|
||||
options: {
|
||||
cacheName: 'api-cache',
|
||||
networkTimeoutSeconds: 10
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
devOptions: {
|
||||
enabled: true,
|
||||
suppressWarnings: true,
|
||||
navigateFallback: '/',
|
||||
type: 'module' // Support module service workers in development
|
||||
},
|
||||
}),tailwindcss(), sveltekit()],
|
||||
test: {
|
||||
|
||||
Reference in New Issue
Block a user