From a4d2ed6f315260674b80978b9e8658000952532b Mon Sep 17 00:00:00 2001 From: Qstick Date: Tue, 26 Mar 2019 21:52:13 -0400 Subject: [PATCH] Fixed: Queue count badge showing warning/error incorrectly --- .../src/Activity/Queue/Status/QueueStatusConnector.js | 10 ++++++++-- src/Lidarr.Api.V1/Queue/QueueStatusModule.cs | 9 ++++++--- src/Lidarr.Api.V1/Queue/QueueStatusResource.cs | 3 +++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/frontend/src/Activity/Queue/Status/QueueStatusConnector.js b/frontend/src/Activity/Queue/Status/QueueStatusConnector.js index 79fc078cf..090b8fc96 100644 --- a/frontend/src/Activity/Queue/Status/QueueStatusConnector.js +++ b/frontend/src/Activity/Queue/Status/QueueStatusConnector.js @@ -12,8 +12,12 @@ function createMapStateToProps() { (state) => state.queue.options.includeUnknownArtistItems, (app, status, includeUnknownArtistItems) => { const { + errors, + warnings, + unknownErrors, + unknownWarnings, count, - unknownCount + totalCount } = status.item; return { @@ -21,7 +25,9 @@ function createMapStateToProps() { isReconnecting: app.isReconnecting, isPopulated: status.isPopulated, ...status.item, - count: includeUnknownArtistItems ? count : count - unknownCount + count: includeUnknownArtistItems ? totalCount : count, + errors: includeUnknownArtistItems ? errors || unknownErrors : errors, + warnings: includeUnknownArtistItems ? warnings || unknownWarnings : warnings }; } ); diff --git a/src/Lidarr.Api.V1/Queue/QueueStatusModule.cs b/src/Lidarr.Api.V1/Queue/QueueStatusModule.cs index e15a03d71..0ec95403b 100644 --- a/src/Lidarr.Api.V1/Queue/QueueStatusModule.cs +++ b/src/Lidarr.Api.V1/Queue/QueueStatusModule.cs @@ -46,10 +46,13 @@ namespace Lidarr.Api.V1.Queue var resource = new QueueStatusResource { - Count = queue.Count + pending.Count, + TotalCount = queue.Count + pending.Count, + Count = queue.Count(q => q.Artist != null) + pending.Count, UnknownCount = queue.Count(q => q.Artist == null), - Errors = queue.Any(q => q.TrackedDownloadStatus.Equals("Error", StringComparison.InvariantCultureIgnoreCase)), - Warnings = queue.Any(q => q.TrackedDownloadStatus.Equals("Warning", StringComparison.InvariantCultureIgnoreCase)) + Errors = queue.Any(q => q.Artist != null && q.TrackedDownloadStatus.Equals("Error", StringComparison.InvariantCultureIgnoreCase)), + Warnings = queue.Any(q => q.Artist != null && q.TrackedDownloadStatus.Equals("Warning", StringComparison.InvariantCultureIgnoreCase)), + UnknownErrors = queue.Any(q => q.Artist == null && q.TrackedDownloadStatus.Equals("Error", StringComparison.InvariantCultureIgnoreCase)), + UnknownWarnings = queue.Any(q => q.Artist == null && q.TrackedDownloadStatus.Equals("Warning", StringComparison.InvariantCultureIgnoreCase)) }; _broadcastDebounce.Resume(); diff --git a/src/Lidarr.Api.V1/Queue/QueueStatusResource.cs b/src/Lidarr.Api.V1/Queue/QueueStatusResource.cs index f2e5080b8..2015bf065 100644 --- a/src/Lidarr.Api.V1/Queue/QueueStatusResource.cs +++ b/src/Lidarr.Api.V1/Queue/QueueStatusResource.cs @@ -4,9 +4,12 @@ namespace Lidarr.Api.V1.Queue { public class QueueStatusResource : RestResource { + public int TotalCount { get; set; } public int Count { get; set; } public int UnknownCount { get; set; } public bool Errors { get; set; } public bool Warnings { get; set; } + public bool UnknownErrors { get; set; } + public bool UnknownWarnings { get; set; } } }