From e023b088b8ed8c40365874885da2dc96b69e1701 Mon Sep 17 00:00:00 2001 From: mattsigal Date: Mon, 20 Jul 2026 13:18:07 -0700 Subject: [PATCH] Fix Rotten Tomatoes critics rating mismatch from MDBList - Map tomatoes to tomato for MdbList cache lookup in Jellyfin backend. - Map tomatoes to tomato for MdbList cache lookup in Emby backend. --- Emby/Emby.Plugins.Moonfin/Api/RatingsService.cs | 13 ++++++++++--- Jellyfin/backend/Api/MdbListController.cs | 4 ++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Emby/Emby.Plugins.Moonfin/Api/RatingsService.cs b/Emby/Emby.Plugins.Moonfin/Api/RatingsService.cs index 6b4245a..cd43f54 100644 --- a/Emby/Emby.Plugins.Moonfin/Api/RatingsService.cs +++ b/Emby/Emby.Plugins.Moonfin/Api/RatingsService.cs @@ -120,9 +120,16 @@ private static List FilterAndOrderRatings(List all { // rtAudience (legacy web) and tomatoes_audience (client) both come from MDBList's // "popcorn" source. Look it up there but return it under the key the caller asked for. - var lookupSource = (string.Equals(src, "rtAudience", StringComparison.OrdinalIgnoreCase) || - string.Equals(src, "tomatoes_audience", StringComparison.OrdinalIgnoreCase)) - ? "popcorn" : src; + var lookupSource = src; + if (string.Equals(src, "rtAudience", StringComparison.OrdinalIgnoreCase) || + string.Equals(src, "tomatoes_audience", StringComparison.OrdinalIgnoreCase)) + { + lookupSource = "popcorn"; + } + else if (string.Equals(src, "tomatoes", StringComparison.OrdinalIgnoreCase)) + { + lookupSource = "tomato"; + } if (bySource.TryGetValue(lookupSource, out var r)) { diff --git a/Jellyfin/backend/Api/MdbListController.cs b/Jellyfin/backend/Api/MdbListController.cs index fa73009..fa6e42f 100644 --- a/Jellyfin/backend/Api/MdbListController.cs +++ b/Jellyfin/backend/Api/MdbListController.cs @@ -246,6 +246,10 @@ private static List FilterAndOrderRatings(List all { lookupSource = "popcorn"; } + else if (string.Equals(source, "tomatoes", StringComparison.OrdinalIgnoreCase)) + { + lookupSource = "tomato"; + } if (ratingsBySource.TryGetValue(lookupSource, out var rating)) {