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; } } }