feat(android): Songs loeschen und Playlist aus dem Import, plus Web-Scrollfix
Android holt zwei Sachen nach, die es im Web laengst gibt: - Song von der Festplatte loeschen, im Kontextmenue unten abgesetzt und rot, mit derselben Sicherheitsabfrage wie im Web. Laeuft ueber /api/delete-song und erscheint nur mit konfiguriertem Backend — Navidrome allein loescht nichts. - Playlist direkt aus dem Import anlegen: Haekchen plus Namensfeld ab zwei Titeln, danach Scan anstossen, Titel suchen, Playlist aus den gefundenen. Nicht gefundene werden gezaehlt statt die Erstellung scheitern zu lassen. Dazu der Web-Fix zur Album-Position: die gespeicherte Scrollposition wurde in genau einem requestAnimationFrame gesetzt. Solange Cover und Eintraege noch nachluden, war scrollHeight kleiner als das Ziel und der Browser kappte den Wert stillschweigend — man landete wieder oben. Jetzt wird er ueber bis zu ~0,5 s erneut gesetzt, bis er sitzt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a05c15df93
commit
aae358c4c7
12 files changed
+1031
-12
No files matched your search
+20
-9
@@ -36,6 +36,8 @@ Versioning: two-part `MAJOR.MINOR` — each release bumps the minor (features an
|
||||
| Playlist create/edit | ✅ | ✅ |
|
||||
| Playlist cover upload | ✅ | ✅ |
|
||||
| Spotify / YouTube importer | ✅ | ✅ |
|
||||
| Playlist aus Import anlegen | ✅ | ✅ |
|
||||
| Song von Festplatte löschen | ✅ | ✅ |
|
||||
| Metadata editor (tags + cover) | ✅ | ❌ |
|
||||
| Song delete (from disk) | ✅ | ❌ |
|
||||
| Import notification | ✅ | ✅ |
|
||||
@@ -64,7 +66,7 @@ Versioning: two-part `MAJOR.MINOR` — each release bumps the minor (features an
|
||||
|
||||
---
|
||||
|
||||
## [Unreleased]
|
||||
## [2.3] — 2026-09-04
|
||||
|
||||
### Fixed
|
||||
- **YT-Music-Suche war praktisch tot** — `getYtmVideoUrls` verwarf die komplette Trefferliste, sobald
|
||||
@@ -101,16 +103,25 @@ Versioning: two-part `MAJOR.MINOR` — each release bumps the minor (features an
|
||||
live recordings. The variant blocklist (remix/cover/acoustic/…) now includes `live`. As with the
|
||||
other rules it switches itself off when the searched title says live, so "Live Forever" and
|
||||
deliberately requested live versions are unaffected.
|
||||
|
||||
---
|
||||
|
||||
## [2.3] — 2026-09-03
|
||||
|
||||
A deployment-and-delivery release: production **pulls pre-built images** instead of compiling on the
|
||||
server, the **APK download works again** (it had been broken by Gitea's own link host), and the
|
||||
scroll memory from 2.2 finally behaves on the Alben tab — plus it reaches an actual build.
|
||||
- **Album-Position im Web wurde doch nicht wiederhergestellt** — die gespeicherte Scrollposition wurde
|
||||
in genau einem `requestAnimationFrame` gesetzt. Solange Cover und Listeneinträge noch nachluden, war
|
||||
`scrollHeight` kleiner als das Ziel, und der Browser kappte den Wert stillschweigend: man landete
|
||||
wieder oben. Der Wert wird jetzt über bis zu ~0,5 s erneut gesetzt, bis er sitzt.
|
||||
|
||||
### Added
|
||||
- **Android: Songs von der Festplatte löschen** — im Song-Kontextmenü, unten abgesetzt und rot, mit
|
||||
derselben Sicherheitsabfrage wie im Web. Nutzt denselben Backend-Endpunkt (`/api/delete-song`) und
|
||||
erscheint nur, wenn ein Backend konfiguriert ist — Navidrome allein kann keine Dateien entfernen.
|
||||
- **Android: Playlist direkt aus dem Import anlegen** — der Importer hat jetzt wie das Web ein
|
||||
Häkchen „Playlist daraus anlegen" samt Namensfeld (ab zwei Titeln). Nach dem Download stößt er
|
||||
Navidromes Scan an, sucht jeden Titel und legt die Playlist aus den gefundenen an; nicht
|
||||
gefundene werden gezählt statt die Erstellung scheitern zu lassen.
|
||||
|
||||
Zusätzlich zum Auslieferungsteil dieser Version: production **pulls pre-built images** instead of
|
||||
compiling on the server, the **APK download works again** (it had been broken by Gitea's own link
|
||||
host), and the scroll memory from 2.2 finally behaves on the Alben tab.
|
||||
|
||||
### Added (Auslieferung)
|
||||
- **Pull-based production stack** — `docker-compose.yml` now references
|
||||
`${REGISTRY}/novasonic-frontend|-backend|-scrobble:${TAG:-latest}` and builds nothing on the host:
|
||||
`docker compose pull && docker compose up -d`. Building locally from the Dockerfiles moved to
|
||||
|
||||
Reference in new issue
Block a user