push-kvzwrolnknzx #86

Merged
eric merged 13 commits from push-kvzwrolnknzx into main 2026-04-04 12:59:11 +02:00
3 changed files with 20 additions and 5 deletions
Showing only changes of commit 6fcecaab00 - Show all commits

View File

@@ -1,6 +1,6 @@
[package]
name = "PMOMusic"
version = "0.3.32"
version = "0.3.33"
edition = "2024"
[dependencies]

View File

@@ -196,7 +196,7 @@ async fn get_renderer_full_snapshot(
let base_url_str = pmoserver::get_base_url_from_request(&headers);
let base_url = pmoserver::BaseUrl(base_url_str);
// Transform cover URLs in current_track using async version
// Transform cover URLs in current_track
if let Some(ref mut current_track) = snapshot.state.current_track {
if let Some(ref album_art) = current_track.album_art_uri {
if let Some(transformed) = transform_cover_url(Some(album_art), &base_url).await {
@@ -205,6 +205,15 @@ async fn get_renderer_full_snapshot(
}
}
// Transform cover URLs in queue items
for item in &mut snapshot.queue.items {
if let Some(ref album_art) = item.album_art_uri {
if let Some(transformed) = transform_cover_url(Some(album_art), &base_url).await {
item.album_art_uri = Some(transformed);
}
}
}
Ok(Json(snapshot))
}
@@ -239,7 +248,7 @@ async fn get_renderer_queue(
// Get base_url from request headers
let base_url_str = pmoserver::get_base_url_from_request(&headers);
let base_url = pmoserver::BaseUrl(base_url_str);
let base_url = pmoserver::BaseUrl(base_url_str.clone());
// Transform cover URLs in all queue items using async version
for item in &mut snapshot.queue.items {
@@ -2249,17 +2258,23 @@ async fn transform_cover_url(url: Option<&str>, base_url: &pmoserver::BaseUrl) -
// Si c'est déjà une route locale de notre cache, la transformer en URL absolue
if url.starts_with("/covers/") {
debug!(url = %url, "Already local cover route");
return Some(base_url.url_for(url));
}
// Si c'est une URL de notre instance, la retourner directement
if url.starts_with(&base_url.0) {
debug!(url = %url, "Already our instance URL");
return Some(url.to_string());
}
// Pour les autres URLs, utiliser le mechanisme de proxy standard (comme Qobuz)
debug!(url = %url, "Proxyfying cover URL via pmocovers");
match pmocovers::proxy_cover_url(url, base_url).await {
Ok(local_url) => Some(local_url),
Ok(local_url) => {
debug!(result = %local_url, "Proxified successfully");
Some(local_url)
},
Err(e) => {
tracing::warn!("Failed to proxy cover URL {}: {}", url, e);
Some(url.to_string())

View File

@@ -1 +1 @@
0.3.32
0.3.33