--- id: task-4 title: PWA offline support status: In Progress assignee: [] created_date: '2025-12-15 19:37' updated_date: '2026-01-02 14:28' labels: [] dependencies: [] priority: high --- ## Description Implement service worker for offline caching. Store map tiles, venue data, and room state in IndexedDB. Sync when reconnected. ## Implementation Notes ## Partial Implementation PWA basics implemented: 1. **Service Worker** (`public/sw.js`) - Push notification handling - Location request messaging - Basic caching setup 2. **Install Banner** (`src/components/room/InstallBanner.tsx`) - Detects installable PWA state - Shows "Add to Home Screen" prompt - iOS-specific instructions - Dismissible with localStorage persistence 3. **PWA Manifest** - App manifest with icons and theme colors ## Still Needed - Offline map tile caching (IndexedDB) - Room state persistence for offline viewing - Sync queue for offline location updates - Background sync when reconnected