Commit Graph
565 Commits
Author SHA1 Message Date
HoneyandClaude Sonnet 4.6 d9256e6294 fix: auto-reload all PWA windows when new SW activates
Chain activate: clear old caches → claim clients → navigate all windows.
client.navigate(url) forces a full reload so users always get the new
version without manually closing/reopening the PWA.
Also removed sw.js from PRECACHE (browser fetches SW directly, no need to cache it).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 18:10:08 +02:00
HoneyandClaude Sonnet 4.6 21822b4ddf fix: bottom-nav-inner must be column not row — tabs stacked above buttons
flex-direction:row put the tab strip and icon buttons side-by-side,
both fighting for 100% width, making them overflow and appear huge.
Column stacks the Bibliothek/Entdecken tabs on top, icon row below.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 18:07:14 +02:00
HoneyandClaude Sonnet 4.6 1b981591d4 fix: switch SW to network-first strategy so PWA always gets fresh updates
Cache-first meant users were stuck on old versions until manual cache clear.
Network-first fetches live, updates cache, falls back to cache when offline.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 18:02:05 +02:00
HoneyandClaude Sonnet 4.6 f298661d72 feat: swipe-up player bar opens Now Playing; fix backend CORS for reverse proxy
- Add touchstart/touchend on .player bar: swipe up ≥40px or fast flick opens np-overlay
- Replace cors() package with explicit middleware that sets Access-Control-Allow-Origin/Methods/Headers and Access-Control-Allow-Private-Network (needed for Chrome when backend is on private network or behind proxy)
- Remove cors npm dependency from backend
- Bump cache to ns-v20

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:54:05 +02:00
HoneyandClaude Sonnet 4.6 052846e458 Round vinyl cover in player bar + larger mobile player
- player-art: border-radius 50% (circle), vinyl ring shadow, centre dot appears while spinning
- Mobile player height: 62px -> 74px, cover: 36px -> 46px

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:43:20 +02:00
HoneyandClaude Sonnet 4.6 6e00b78219 Fix MUSIC_PATH direct mount + backend URL prefill
- MUSIC_PATH is now used 1:1 inside the container (no /music remapping)
- config.js 404-safe with inline fallback defaults
- Prefill uses .trim() so empty strings don't overwrite fields

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:37:30 +02:00
HoneyandClaude Sonnet 4.6 56c5662a11 Fix PWA install: static manifest.json + proper SVG icon
- Replace blob: manifest (ignored by Chrome) with static manifest.json
- Replace data: URL icon with real icon.svg file
- Link manifest and apple-touch-icon directly in <head>
- Remove blob/data URL generation from app.js

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:20:55 +02:00
HoneyandClaude Sonnet 4.6 042ce0b095 Fix Android media notification: add setPositionState + seek handlers
- setPositionState synced every second via updateProgress so the notification shows progress bar and timestamps
- seekto handler enables dragging the notification progress bar
- seekbackward/seekforward handlers enable 10s skip buttons

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:16:29 +02:00
HoneyandClaude Sonnet 4.6 87636ea774 Fix bottom nav: flex:1 on items so they stretch edge to edge
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:14:20 +02:00
HoneyandClaude Sonnet 4.6 89c08ed2ab Bottom nav: flex space-around for proper edge-to-edge distribution
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:11:13 +02:00
HoneyandClaude Sonnet 4.6 a5461ff92c Fix bottom nav full-width layout + add backend URL autofill
- Remove max-width/gap/padding from bottom nav so buttons fill full screen width
- Add NS_BACKEND_URL to config.js entrypoint and autofill backend-url field on setup screen

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:03:34 +02:00
HoneyandClaude Sonnet 4.6 b6edfcf14b Add NAVIDROME_URL autofill, remove Navidrome scan trigger
- Frontend reads window.NS_SERVER_URL from config.js (injected at container start via docker-entrypoint.sh) and pre-fills the setup screen
- Removed triggerNaviScan from frontend and backend (Navidrome auto-scans on file change)
- Removed NAVIDROME_USER/PASS from backend and compose

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 16:44:38 +02:00
HoneyandClaude Sonnet 4.6 c789672793 Remove Traefik labels, use external reverse proxy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 15:03:54 +02:00
HoneyandClaude Sonnet 4.6 df69990625 Add Docker setup: nginx frontend + backend compose
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 14:55:28 +02:00
HoneyandClaude Sonnet 4.6 a3ac8bef30 Initial commit: split single-file PWA into index.html, styles.css, app.js, sw.js
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 14:49:12 +02:00