4 Commits
Author SHA1 Message Date
fabiodalez-devandClaude Sonnet 4.6 bfab3e8f90 v2.8.1: Fix Tidal proxy (tidal-proxy.monochrome.tf)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:40:42 +02:00
fabiodalez-devandClaude Sonnet 4.6 b03298725e v2.8.0: Sync upstream 8cf6740 (Qobuz proxy, theme FOUC fix)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 00:48:34 +02:00
fabiodalez-devandClaude Sonnet 4.6 3e8c9e7d98 v2.7.0: Sync upstream 3936c07 (enrichment fallbacks, playlist exports, download fix)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 18:17:28 +02:00
fabiodalez-dev 3b5503bb45 v2.0.0: 50+ optimizations, search fixes, robust build system
Major wrapper rewrite with architecture-level improvements:

Search & Performance:
- Debounce 3000ms → 700ms with min 3-char threshold
- Explicit &limit=100 on all search endpoints (shows all albums)
- Cache normalization: trim/lowercase/NFD diacritics (Björk = bjork)
- Per-type TTL: tracks 10min, artists 60min, albums 30min
- CDN preconnect/dns-prefetch for Tidal API endpoints

Android Native:
- WebView hardening: cache mode, DOM storage, text zoom, HW accel
- AudioForegroundService: ExecutorService + LruCache for cover art
- MediaSession hardware keys (headphones, Bluetooth, car stereo)
- LocalFilesBridge: content:// URI streaming (no more base64 OOM)
- Safe onDestroy with try/catch, RECEIVER_NOT_EXPORTED
- windowSoftInputMode=adjustResize, WindowInsetsController migration
- Splash screen config, largeHeap, hardwareAccelerated in manifest
- Back button dismisses modals/lyrics/fullscreen before navigating

UI/UX:
- Tap targets ≥ 48dp, touch feedback (active state), route fade
- Responsive card grid (2-4 cols based on screen width)
- Pull-to-refresh, swipe left/right on now-playing-bar
- Safe-area CSS variables (--fm-safe-top/bottom)
- Double-back-to-exit with toast confirmation

Build System:
- fm-build.sh: one-shot install + build entry point
- verify-patches.sh: dry-run patch verification (CI-ready)
- PATCHES.md: full documentation of all 50+ optimizations
- Robust cleanup trap (file-by-file git checkout)
- @capgo/capacitor-media-session shimmed (our ForegroundService wins)
- Upstream bug workarounds: sourcemap-codec override, backtick typo

Bug Fixes:
- JS injection via filename (escape backslash before apostrophe)
- Timer leak in setInterval without clearInterval
- Notification channel created once (singleton pattern)
- Notification ID reuse (no tray accumulation)
- ClipboardManager null check
- DownloadBridge thread-safe with background executor

Closes #4: haptic/vibration feedback removed entirely.
2026-04-15 11:57:06 +02:00