feat(web): download the Android APK from Settings
Backend serves a staged APK so co-users self-serve the latest build: - GET /api/apk streams APK_PATH (default /data/novasonic.apk) with the android package content-type + attachment disposition; 404 if absent. - GET /api/apk/info reports availability, size, mtime, and an optional version from /data/novasonic.version.txt. - Settings gets a "🤖 Android App" section that appears only when an APK is present and shows version/size/date. Maintainer updates the APK with: docker cp app-release.apk novasonic-backend:/data/novasonic.apk Android source is already tracked; only build artifacts stay out of git. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
7996971ba0
commit
908b50bcd9
4 files changed
+67
No files matched your search
@@ -71,6 +71,13 @@ like Android), concert events become **reliable across web/Android**, several An
|
||||
**YouTube downloads are recovered** after they broke on two independent fronts.
|
||||
|
||||
### Added
|
||||
- **Android APK download in Settings (Web)** — a "🤖 Android App" section in Settings offers the
|
||||
latest APK so co-users self-serve instead of the maintainer hand-delivering builds. The backend
|
||||
serves the staged APK (`GET /api/apk`, metadata at `/api/apk/info`); the button appears only when an
|
||||
APK is present and shows version/size/date. **Maintainer workflow:** drop the release build into the
|
||||
backend's data volume — `docker cp app-release.apk novasonic-backend:/data/novasonic.apk` (optional
|
||||
`docker cp version.txt novasonic-backend:/data/novasonic.version.txt`). The Android *source* is
|
||||
already in the repo; only build artifacts stay out of git.
|
||||
- **Unified Global Search field (Web)** — the separate Song-Importer page/sidebar entry is gone. The
|
||||
one search field now auto-detects: a **link** (Spotify/SoundCloud/YouTube) opens the importer
|
||||
preview, plain **text** runs a Deezer search. Cleaner left nav, same behaviour as Android.
|
||||
|
||||
Reference in new issue
Block a user