From 4afd7696029bf685d3a2ac858525a1f1476d920f Mon Sep 17 00:00:00 2001 From: Josh Patra Date: Fri, 30 Jan 2026 00:29:56 -0500 Subject: [PATCH] Fix: Proxy Artists/{id}/Similar to correct Jellyfin endpoint --- allstarr/Controllers/JellyfinController.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/allstarr/Controllers/JellyfinController.cs b/allstarr/Controllers/JellyfinController.cs index b99d5bf..840bf11 100644 --- a/allstarr/Controllers/JellyfinController.cs +++ b/allstarr/Controllers/JellyfinController.cs @@ -1202,7 +1202,7 @@ public class JellyfinController : ControllerBase /// [HttpGet("Items/{itemId}/Similar")] [HttpGet("Songs/{itemId}/Similar")] - [HttpGet("Artists/{artistId}/Similar")] + [HttpGet("Artists/{itemId}/Similar")] public async Task GetSimilarItems( string itemId, [FromQuery] int limit = 50, @@ -1266,7 +1266,11 @@ public class JellyfinController : ControllerBase } } - // For local items, proxy to Jellyfin + // For local items, determine the correct endpoint based on the request path + var endpoint = Request.Path.Value?.Contains("/Artists/", StringComparison.OrdinalIgnoreCase) == true + ? $"Artists/{itemId}/Similar" + : $"Items/{itemId}/Similar"; + var queryParams = new Dictionary { ["limit"] = limit.ToString() @@ -1282,7 +1286,7 @@ public class JellyfinController : ControllerBase queryParams["userId"] = userId; } - var result = await _proxyService.GetJsonAsync($"Items/{itemId}/Similar", queryParams, Request.Headers); + var result = await _proxyService.GetJsonAsync(endpoint, queryParams, Request.Headers); if (result == null) {