From 27984fe0832a024b567a57e8703b459beca7349c Mon Sep 17 00:00:00 2001 From: Andrew Rabert Date: Wed, 24 Apr 2024 11:53:03 -0400 Subject: [PATCH] Fix shuffling for shows --- src/components/playback/playbackmanager.js | 23 ++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index eb9d40a83b..67083788c5 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1872,6 +1872,7 @@ class PlaybackManager { promise = apiClient.getEpisodes(firstItem.SeriesId || firstItem.Id, { IsVirtualUnaired: false, IsMissing: false, + SortBy: options.shuffle ? 'Random' : undefined, UserId: apiClient.getCurrentUserId(), Fields: ['Chapters', 'Trickplay'] }).then(function (episodesResult) { @@ -1880,18 +1881,20 @@ class PlaybackManager { let foundItem = false; - episodesResult.Items = episodesResult.Items.filter(function (e) { - if (foundItem) { - return true; - } + if (!options.shuffle) { + episodesResult.Items = episodesResult.Items.filter(function (e) { + if (foundItem) { + return true; + } - if (!e.UserData.Played && (isSeries || e.SeasonId === firstItem.Id)) { - foundItem = true; - return true; - } + if (!e.UserData.Played && (isSeries || e.SeasonId === firstItem.Id)) { + foundItem = true; + return true; + } - return false; - }); + return false; + }); + } if (episodesResult.Items.length === 0) { if (isSeries) {