Closed Bug 371365 Opened 17 years ago Closed 17 years ago

Duplicates appear for alarms left in Calendar Alarm window

Categories

(Calendar :: Alarms, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: brian, Unassigned)

References

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20061006 Sunbird/0.3

I tend to leave some alarms in the Calendar Alarm window rather than snoozing them, so that I'll get to them when I have time.  After an hour or two, a duplicate of each alarm will appear in the Calendar Alarm window.

Reproducible: Always

Steps to Reproduce:
1. create some alarms
2. when they appear in the Calendar Alarm window, leave them there
3. after a while, a duplicate of each alarm appears

Actual Results:  
multiple copies of each alarm are in the Calendar Alarm window and must be dismissed separately.

Expected Results:  
the alarms would simply stay in the Calendar Alarm window until dismissed, but no duplicates would appear.
Summary: Alarms left in Calendar Alarm window duplicate themselves → Duplicates appear for alarms left in Calendar Alarm window
WFM using Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.9a1) Gecko/20070213 Sunbird/0.3.1
See my comments below...
Hoping that it was because I was still using 0.3, I upgraded to the new version.  Same problem.  After several hours of the events staying up in a window, I got duplicates of all of them.  I even got three copies of one event (which happened to be a repeating event) one of was actually dated tomorrow (the next day the event was scheduled to occur).  I have attached a screen shot of the Calendar Alarm window.  The first three events appeared normally, and I left them undismissed and unsnoozed (I left them in the Calendar Alarm window).  After several hours, you can see that there were repeats of all the events.  Note also that this was all done on February 26th, but the last event is for the following day (February 27th).

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20070213 Sunbird/0.3.1

-Bri
So the problem here is that we re-set the alarm firing queue every 6 hours.  Because the items are still in the alarm window, they show up as un-acknowledged to our queries, which means we'll fire them again.  I'd suggest that the alarm window should be responsible for filtering these out, which should be pretty easy.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking-calendar0.5?
This won't block 0.5, however we might take it if we get it fixed with enough qa time left.
Flags: blocking-calendar0.5? → blocking-calendar0.5-
(In reply to comment #4)
> So the problem here is that we re-set the alarm firing queue every 6 hours. 
> Because the items are still in the alarm window, they show up as
> un-acknowledged to our queries, which means we'll fire them again.  I'd suggest
> that the alarm window should be responsible for filtering these out, which
> should be pretty easy.

Yes, although this effectively means the code needs to observe all changes of all involved calendars and filter out the relevant ones for its window.
IMO it once again shows up that item value semantics is really a pain in the xyz. Reference semantics as proposed in <http://wiki.mozilla.org/Calendar:Architecture> would have performed better and would make the code more elegant since we could implement a change-listener mechanism per item. However, since we don't have time to rework the base code that way, I think it makes sense to add such functionality to calICalendarManager since the calendar manager already acts as a central service, e.g.

addObserverForItem(in calIItemBase item, in calIObserver observer);
removeObserverForItem(in calIItemBase item, in calIObserver observer);

It gets complicated if the item.calendar, item.id (, item.recurrenceId?) changes, which essentially modifies the item's origin, so the code needs to keep care to send out appropriate onDeleteItem notifications. Regarding occurrences, I think we should limit the use to parent items in the first place, keeping it simple.

Opinions?
Flags: blocking-calendar0.7?
Does this issue in this bug resp. Bug 385629 still exists using a recent 0.7pre nightly build after the checkin for Bug 389245?
This bug is still present in Sunbird 0.5:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4pre) Gecko/20070614 Sunbird/0.5

It appears to add another alarm every 30 minutes or so.
(In reply to comment #10)
Eric, Stefan talks about a recent *nightly* build. There hasn't been a fix for 0.5.
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7pre) Gecko/20070827 Calendar/0.7pre

Got an alert window and let it stay open for one day, got the alarms for two other events.

Actual results:
1. No duplicate alarms anymore.
2. Last alarm is shown again after closing and restarting calendar.

Haven't tried reproducing.

(And sorry that it isn't the nightly from today.)
(In reply to comment #12)
Thanks for retest. Resolving as fixed by the checkin for Bug 389245.
Status: NEW → RESOLVED
Closed: 17 years ago
Depends on: 389245
Resolution: --- → FIXED
Target Milestone: --- → 0.7
verified with
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7pre) Gecko/20070908 Calendar/0.7pre
Status: RESOLVED → VERIFIED
Flags: blocking-calendar0.7?
I can confirm that this bug is fixed in the nightly builds, but now I'm seeing a different problem that may or may not be related to the fix.

1. I have an alarm that is repeated weekly.
2. I receive the alarm normally.
3. I snooze the alarm each day for 7 days until the next alarm triggers.
4. There are now two similar alarms showing (but with different dates) as expected.
5. I dismiss the older of the two alarms.
6. The new alarm also disappears.

I would have expected the new alarm to stay if I only dismissed the older one.
(In reply to comment #15)
I just filed Bug 397030 for this issue.
Flags: blocking-calendar0.5-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: