45 lines
1.1 KiB
Markdown
45 lines
1.1 KiB
Markdown
---
|
|
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
|
|
|
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
Implement service worker for offline caching. Store map tiles, venue data, and room state in IndexedDB. Sync when reconnected.
|
|
<!-- SECTION:DESCRIPTION:END -->
|
|
|
|
## Implementation Notes
|
|
|
|
<!-- SECTION:NOTES:BEGIN -->
|
|
## 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
|
|
<!-- SECTION:NOTES:END -->
|