feat: full artist release list via artist/getReleasesList

Instead of relying on the limited preview in artist/page, fire a
separate artist/getReleasesList request per release type (album,
epSingle, live, compilation) in parallel when loading an artist.
Each result updates its section independently as it arrives, so the
page populates progressively without a single large request.

Also fixes the artist name in the status bar (was reading wrong field).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
joren
2026-03-25 13:53:57 +01:00
parent 6f11b364aa
commit 5ae18afa08
10 changed files with 107 additions and 27 deletions

View File

@@ -267,6 +267,28 @@ impl QobuzClient {
Self::check_response(resp).await
}
pub async fn get_artist_releases_list(
&self,
artist_id: i64,
release_type: &str,
limit: u32,
offset: u32,
) -> Result<Value> {
let resp = self
.get_request("artist/getReleasesList")
.query(&[
("artist_id", artist_id.to_string()),
("release_type", release_type.to_string()),
("sort", "release_date".to_string()),
("order", "desc".to_string()),
("limit", limit.to_string()),
("offset", offset.to_string()),
])
.send()
.await?;
Self::check_response(resp).await
}
// --- Search ---
pub async fn search(&self, query: &str, offset: u32, limit: u32) -> Result<SearchCatalogDto> {