fixed some notification issues

pull/4/head
kay.one 13 years ago
parent a1caa789fe
commit 555e62fd17

@ -24,28 +24,40 @@ namespace NzbDrone.Core.Providers
{ {
get get
{ {
lock (_lock)
{
var activeNotification =
_progressNotification.Values.Where(p => p.Status == ProgressNotificationStatus.InProgress).
ToList();
var activeNotification = _progressNotification.Values.Where(p => p.Status == ProgressNotificationStatus.InProgress).ToList(); if (activeNotification.Count == 0)
{
//Get notifications that were recently done
activeNotification =
_progressNotification.Values.Where(p => p.CompletedTime >= DateTime.Now.AddSeconds(-3)).
OrderByDescending(c => c.CompletedTime).ToList();
if (activeNotification.Count == 0) }
{
//Get notifications that were recently done
activeNotification = _progressNotification.Values.Where(p => p.CompletedTime >= DateTime.Now.AddSeconds(-3)).OrderByDescending(c => c.CompletedTime).ToList();
return activeNotification.ToList();
} }
return activeNotification.ToList();
} }
} }
public virtual void Register(ProgressNotification notification) public virtual void Register(ProgressNotification notification)
{ {
_progressNotification.Add(notification.Id, notification); lock (_lock)
{
_progressNotification.Add(notification.Id, notification);
}
} }
public virtual void Register(BasicNotification notification) public virtual void Register(BasicNotification notification)
{ {
_basicNotifications.Add(notification.Id, notification); lock (_lock)
{
_basicNotifications.Add(notification.Id, notification);
}
} }
public virtual void Dismiss(Guid notificationId) public virtual void Dismiss(Guid notificationId)

@ -52,13 +52,11 @@ namespace NzbDrone.Web.Controllers
[HttpGet] [HttpGet]
public JsonResult Comet(string message) public JsonResult Comet(string message)
{ {
var requestTimer = Stopwatch.StartNew();
MiniProfiler.Stop(true); MiniProfiler.Stop(true);
var currentMessage = GetCurrentMessage(); var currentMessage = GetCurrentMessage();
while (message == currentMessage && requestTimer.Elapsed.TotalSeconds < 10) while (message == currentMessage)
{ {
Thread.Sleep(250); Thread.Sleep(250);
currentMessage = GetCurrentMessage(); currentMessage = GetCurrentMessage();

@ -41,9 +41,11 @@
} }
function closeMsg() { function closeMsg() {
//hide the message //hide the message
$('#msgBox').hide("slide", { direction: "right" }, speed); if (isShown) {
isShown = false; $('#msgBox').hide("slide", { direction: "right" }, speed);
isShown = false;
}
} }
}); });

Loading…
Cancel
Save