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,29 +24,41 @@ 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) if (activeNotification.Count == 0)
{ {
//Get notifications that were recently done //Get notifications that were recently done
activeNotification = _progressNotification.Values.Where(p => p.CompletedTime >= DateTime.Now.AddSeconds(-3)).OrderByDescending(c => c.CompletedTime).ToList(); 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)
{
lock (_lock)
{ {
_progressNotification.Add(notification.Id, notification); _progressNotification.Add(notification.Id, notification);
} }
}
public virtual void Register(BasicNotification notification) public virtual void Register(BasicNotification notification)
{
lock (_lock)
{ {
_basicNotifications.Add(notification.Id, notification); _basicNotifications.Add(notification.Id, notification);
} }
}
public virtual void Dismiss(Guid notificationId) public virtual void Dismiss(Guid notificationId)
{ {

View File

@ -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();

View File

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