From d0a7dbcc962566718dd30a8b6aa67a0f751f7ed4 Mon Sep 17 00:00:00 2001 From: Josh Patra Date: Tue, 10 Feb 2026 11:01:38 -0500 Subject: [PATCH] v1.2.2: fix metadata loss in Spotify playlists Spotify playlist tracks were missing genres, composers, and other metadata because the proxy only requested MediaSources field instead of passing through all client-requested fields. --- allstarr/Controllers/JellyfinController.cs | 13 +++++++++++-- allstarr/allstarr.csproj | 6 +++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/allstarr/Controllers/JellyfinController.cs b/allstarr/Controllers/JellyfinController.cs index 309200f..d607da2 100644 --- a/allstarr/Controllers/JellyfinController.cs +++ b/allstarr/Controllers/JellyfinController.cs @@ -3529,8 +3529,17 @@ public class JellyfinController : ControllerBase return null; // Fall back to legacy mode } - // Request MediaSources field to get bitrate info - var playlistItemsUrl = $"Playlists/{playlistId}/Items?UserId={userId}&Fields=MediaSources"; + // Pass through all requested fields from the original request + var queryString = Request.QueryString.Value ?? ""; + var playlistItemsUrl = $"Playlists/{playlistId}/Items?UserId={userId}"; + + // Append the original query string (which includes Fields parameter) + if (!string.IsNullOrEmpty(queryString)) + { + // Remove the leading ? if present + queryString = queryString.TrimStart('?'); + playlistItemsUrl = $"{playlistItemsUrl}&{queryString}"; + } _logger.LogInformation("🔍 Fetching existing tracks from Jellyfin playlist {PlaylistId} with UserId {UserId}", playlistId, userId); diff --git a/allstarr/allstarr.csproj b/allstarr/allstarr.csproj index 6923be7..2934413 100644 --- a/allstarr/allstarr.csproj +++ b/allstarr/allstarr.csproj @@ -5,9 +5,9 @@ enable enable allstarr - 1.0.0 - 1.0.0.0 - 1.0.0.0 + 1.2.2 + 1.2.2.0 + 1.2.2.0