mirror of
https://github.com/dergigi/boris.git
synced 2026-01-31 20:54:41 +01:00
docs: add PWA launch checklist
This commit is contained in:
95
PWA_CHECKLIST.md
Normal file
95
PWA_CHECKLIST.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# PWA Launch Checklist
|
||||
|
||||
## Pre-Production
|
||||
|
||||
- [ ] **Replace placeholder icons** with branded designs
|
||||
- Create 192x192px and 512x512px icons
|
||||
- Create maskable variants with safe area padding
|
||||
- Use [Maskable.app](https://maskable.app/) to test maskable icons
|
||||
|
||||
- [ ] **Test install flow**
|
||||
- [ ] Chrome/Edge on desktop
|
||||
- [ ] Chrome on Android
|
||||
- [ ] Safari on iOS (limited PWA support)
|
||||
|
||||
- [ ] **Test offline functionality**
|
||||
- [ ] App shell loads when offline
|
||||
- [ ] Cached images display
|
||||
- [ ] Cached articles accessible
|
||||
- [ ] Local relay still works
|
||||
- [ ] Online/offline toast notifications work
|
||||
|
||||
- [ ] **Run Lighthouse audit**
|
||||
- [ ] PWA score >90
|
||||
- [ ] All installability criteria met
|
||||
- [ ] No console errors
|
||||
|
||||
- [ ] **Test service worker updates**
|
||||
- [ ] Deploy new version
|
||||
- [ ] Verify update notification appears
|
||||
- [ ] Verify refresh loads new version
|
||||
|
||||
## Production
|
||||
|
||||
- [ ] **Verify manifest serving**
|
||||
- Check `/manifest.webmanifest` is accessible
|
||||
- Verify correct MIME type (`application/manifest+json`)
|
||||
|
||||
- [ ] **Verify service worker serving**
|
||||
- Check `/sw.js` is accessible
|
||||
- Verify correct cache headers (short cache, must-revalidate)
|
||||
|
||||
- [ ] **Verify icons serving**
|
||||
- All icon sizes load correctly
|
||||
- Proper MIME types for PNG files
|
||||
|
||||
- [ ] **Test on real devices**
|
||||
- [ ] iOS Safari (add to home screen)
|
||||
- [ ] Android Chrome (install prompt)
|
||||
- [ ] Desktop Chrome (install button)
|
||||
- [ ] Desktop Edge (install button)
|
||||
|
||||
## Post-Launch
|
||||
|
||||
- [ ] Monitor service worker registration errors (analytics/logs)
|
||||
- [ ] Monitor cache hit rates (optional)
|
||||
- [ ] Gather user feedback on install experience
|
||||
- [ ] Consider adding advanced PWA features:
|
||||
- [ ] Web Share Target
|
||||
- [ ] Background Sync
|
||||
- [ ] Badging API
|
||||
- [ ] Push Notifications
|
||||
|
||||
## Known Limitations
|
||||
|
||||
- **iOS Safari**: Limited PWA support, no install prompt (users must "Add to Home Screen" manually)
|
||||
- **Firefox**: No install prompt, but PWA features work
|
||||
- **Private/Incognito**: Service workers may be disabled
|
||||
- **WebSocket**: Not affected by service worker (by design)
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Service Worker Not Registering
|
||||
1. Check browser console for errors
|
||||
2. Verify `/sw.js` is accessible
|
||||
3. Check HTTPS is enabled (required for SW)
|
||||
4. Clear browser cache and reload
|
||||
|
||||
### Install Prompt Not Showing
|
||||
1. Verify manifest is valid (Chrome DevTools > Application > Manifest)
|
||||
2. Check all installability criteria (Lighthouse PWA audit)
|
||||
3. Try in Chrome/Edge (best PWA support)
|
||||
4. Some browsers require user engagement before showing prompt
|
||||
|
||||
### Offline Not Working
|
||||
1. Check service worker is active (DevTools > Application > Service Workers)
|
||||
2. Verify precache manifest was generated (check `dist/sw.js`)
|
||||
3. Test after first visit (SW needs initial registration)
|
||||
4. Check network tab shows "(from ServiceWorker)" for cached resources
|
||||
|
||||
### Icons Not Showing
|
||||
1. Verify icon files exist in `public/` directory
|
||||
2. Check manifest references correct paths
|
||||
3. Verify icon files are valid PNG format
|
||||
4. Clear browser cache and reinstall app
|
||||
|
||||
Reference in New Issue
Block a user