Android PWA Requirements:
- Add mobile-web-app-capable meta tag for Android
- Add application-name meta tag
- Add prefer_related_applications: false to manifest
- Add explicit icon sizes (192x192, 512x512) for both any and maskable
- Add orientation: any for flexible display
- Add lang and dir to manifest for proper localization
- Add ?source=pwa to start_url for analytics
- Add crossorigin="use-credentials" to manifest link
- Add proper service worker registration in main.ts
- Add vite-plugin-pwa/client types to env.d.ts
This ensures Android recognizes it as a full PWA instead of creating a shortcut
Co-authored-by: Cursor <cursoragent@cursor.com>
- Remove references to non-existent PNG icon files in manifest
- Use SVG icon for both 'any' and 'maskable' purposes
- Add start_url and scope to manifest for proper PWA installation
- Remove orientation restriction for better compatibility
- Remove shortcuts that reference non-existent routes
- Update vite.config.ts with proper PWA settings
- Add devOptions to disable PWA in development
- Separate 'any' and 'maskable' icon entries as required by spec
- Increase container top padding to prevent hover clipping
Build success: 44 entries precached (82.02 MB)
Co-authored-by: Cursor <cursoragent@cursor.com>
- Add Dockerfile with multi-stage build (Node.js + Nginx)
- Add docker-compose.yml for Portainer stack deployment on port 7777
- Add nginx.conf with PWA support, gzip compression, and security headers
- Add .dockerignore for optimized Docker builds
- Add DEPLOYMENT.md with comprehensive deployment guide
- Configure Vite PWA plugin with service worker and offline support
- Add PWA manifest.json with app icons and shortcuts
- Enhance logo.svg with iOS-style glass effects (filters, gradients, highlights)
- Add app-icon.svg for PWA installation
- Update mobile nav with glassmorphic active tab styling
- Fix mobile tab bar layout shift issues with flex-1 and consistent sizing
- Update index.html with PWA meta tags and Apple-specific settings
- Add health check endpoint at /health for container monitoring
Co-authored-by: Cursor <cursoragent@cursor.com>