fixed some notification issues

This commit is contained in:
kay.one 2011-07-02 10:41:10 -07:00
parent a1caa789fe
commit 555e62fd17
3 changed files with 28 additions and 16 deletions

View File

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

View File

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

View File

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