- Replace generic Spotify-green circle with a refined "Beacon" design:
squircle + deep-teal diagonal gradient (#0B3D3B → #1A6B5E) + warm
parchment play triangle (#F5F1E8) with drop shadow, top sheen, and
ghosted echo-chevrons hinting at broadcast/stream
- Grow icon.ico from a single 16×16 frame (208 B) to a 10-frame
multi-resolution ICO (16/20/24/32/40/48/64/96/128/256, ~37 KB) so
Windows no longer upscales 16×16 into mush for the installer chrome,
Start Menu, desktop shortcuts, Alt+Tab, and File Explorer tiles
- Add scripts/generate-icon.py: SVG is the source of truth; resvg-py
rasterizes every ICO size; Pillow packs the multi-resolution ICO
- Update tray.py to pick a 64×64 frame from the new ICO and update its
procedural fallback to the same Beacon palette so a missing ICO no
longer regresses the tray to the old Spotify-green circle
- Add resvg-py to [dev] deps (build-time only)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Use custom icon.ico for installer/uninstaller UI
- LaunchApp opens server then browser after install
- .onInit detects running instance and offers to stop it
- Use WMIC-based process kill targeting embedded Python path
- start-hidden.vbs prefers embedded Python over system Python
- Add pystray dependency to build script
- CLAUDE.md: note to consult CI/CD guide for build changes
- Service worker, manifest, and SVG icon for PWA installability
- Root /sw.js route for full-scope service worker registration
- Meta tags: theme-color, apple-mobile-web-app, viewport-fit=cover
- Safe area insets for notched phones (container, mini-player, footer, banner)
- Dynamic theme-color sync on light/dark toggle
- Overscroll prevention and touch-action optimization
- Hide mini-player prev/next buttons on small screens
- Updated README with PWA and new feature documentation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>