aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.WebDashboard
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.WebDashboard')
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs2
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardService.cs9
2 files changed, 7 insertions, 4 deletions
diff --git a/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs b/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs
index cdcdb49dc4..38d5d32a80 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs
@@ -57,7 +57,7 @@ namespace MediaBrowser.WebDashboard.Api
/// <returns>Task{IEnumerable{TaskInfo}}.</returns>
protected override Task<DashboardInfo> GetDataToSend(object state)
{
- return Task.FromResult(DashboardService.GetDashboardInfo(_appHost, Logger, _taskManager, _userManager));
+ return DashboardService.GetDashboardInfo(_appHost, Logger, _taskManager, _userManager);
}
}
}
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index 136a9170ea..86e4c10ea7 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -110,7 +110,7 @@ namespace MediaBrowser.WebDashboard.Api
/// <returns>System.Object.</returns>
public object Get(GetDashboardInfo request)
{
- return GetDashboardInfo(_appHost, Logger, _taskManager, _userManager);
+ return GetDashboardInfo(_appHost, Logger, _taskManager, _userManager).Result;
}
/// <summary>
@@ -120,12 +120,15 @@ namespace MediaBrowser.WebDashboard.Api
/// <param name="taskManager">The task manager.</param>
/// <param name="userManager">The user manager.</param>
/// <returns>DashboardInfo.</returns>
- public static DashboardInfo GetDashboardInfo(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, IUserManager userManager)
+ public static async Task<DashboardInfo> GetDashboardInfo(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, IUserManager userManager)
{
var connections = userManager.ConnectedUsers.ToArray();
var dtoBuilder = new DtoBuilder(logger);
+ var tasks = userManager.Users.Where(u => connections.Any(c => c.UserId == u.Id)).Select(dtoBuilder.GetUserDto);
+ var users = await Task.WhenAll(tasks).ConfigureAwait(false);
+
return new DashboardInfo
{
SystemInfo = appHost.GetSystemInfo(),
@@ -138,7 +141,7 @@ namespace MediaBrowser.WebDashboard.Api
ActiveConnections = connections,
- Users = userManager.Users.Where(u => connections.Any(c => c.UserId == u.Id)).Select(dtoBuilder.GetDtoUser).ToArray()
+ Users = users
};
}