- Add vite-plugin-pwa + workbox-window - Configure PWA manifest with icons (SVG) - Configure Workbox runtime caching: - API routes: NetworkFirst (10s timeout, 100 entries, 24h) - Media files: CacheFirst (50 entries, 7 days) - Pages: NetworkFirst (10s timeout, 50 entries, 24h) - Register service worker in app.js with update notification - Generate icons (SVG) for all sizes Tests: 101 passing (319 assertions)
- Install laravel/reverb + laravel-echo + pusher-js - Configure broadcasting to reverb in .env.example + .env - Add Echo + Pusher client in resources/js/app.js - Update all 14 notifications to implement ShouldBroadcast + broadcastOn() - Update NotificationBell component to listen for real-time events - Add Livewire.emit in notification-bell blade for JS-to-Livewire bridge Tests: 101 passing (319 assertions)