fix: reliable concerts (backend events cache) + web importer preview layout
- Backend now caches Ticketmaster events per artist and prefers the larger recent result, so a flaky partial/empty response can't shrink a good list; every client (web/Android) stays consistent (1h TTL self-heals). - Web SoundCloud importer preview: add the missing .gtrack-num grid cell so the 4-column row no longer squeezes the cover/title (title was wrapping one char per line). - CHANGELOG [2.3] opened for this batch. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
f56d47800c
commit
b584159568
3 files changed
+69
-5
No files matched your search
@@ -64,6 +64,41 @@ Versioning: two-part `MAJOR.MINOR` — each release bumps the minor (features an
|
||||
|
||||
---
|
||||
|
||||
## [2.3] — 2026-08-21
|
||||
|
||||
A cleanup-and-parity release: the **Song Importer moves into the Global Search field** (one field,
|
||||
like Android), concert events become **reliable across web/Android**, and several Android gaps close.
|
||||
|
||||
### Added
|
||||
- **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.
|
||||
|
||||
### Fixed
|
||||
- **Concert events reliability (Web + Android)** — Ticketmaster's free `keyword` search intermittently
|
||||
returns a partial subset (or none), so back-to-back calls disagreed (web showed 7, a later live
|
||||
call got only 2, Android sometimes showed 0). The web had a private 30-min cache masking this; the
|
||||
cache now lives **on the backend** and **prefers the larger recent result**, so a flaky response
|
||||
can't shrink a good list and every client stays consistent (1 h TTL self-heals).
|
||||
- **Concert date/time (Web + Android)** — shows the **venue-local** time (Ticketmaster's `localDate`/
|
||||
`localTime`) instead of the UTC instant, so a 20:00 show no longer displayed as 08:00. Android
|
||||
parses the naive local datetime (was crashing on zone-less values → missing times).
|
||||
- **Concert rows uneven (Android)** — rebuilt each row with a fixed-width calendar-style date block
|
||||
(day big, month/year + time small), so every row is the same height and the divider/venue align.
|
||||
- **Concert load failures were silent (Android)** — the fetch swallowed errors and showed an empty
|
||||
list. Errors now surface ("Konzerte konnten nicht geladen werden" + reason), with a request
|
||||
timeout and non-2xx treated as a real failure.
|
||||
- **Web importer preview layout** — the SoundCloud track row was missing its grid number-cell, so the
|
||||
4-column `.gtrack-item` grid squeezed the cover into 28px and the title into 52px (title wrapped
|
||||
one character per line). Added the missing cell.
|
||||
- **Android artist albums incomplete** — `lookupArtistAlbums` filtered to `record_type == "album"`,
|
||||
dropping EPs and singles that Deezer (and the web app) show. Now returns all, sorted album → EP →
|
||||
single.
|
||||
- **"Falscher Künstler?" pin button minimised (Web + Android)** — reduced to a small ⚙ icon-only pill
|
||||
in the artist hero's corner instead of a full-width labelled button.
|
||||
|
||||
---
|
||||
|
||||
## [2.2] — 2026-08-19
|
||||
|
||||
Gets YouTube downloads working again after they broke on two independent fronts.
|
||||
|
||||
Reference in new issue
Block a user