lighting doesn't play well with events in remote calendars from other clients

Bug #315732 reported by Jason W on 2009-01-10
2
Affects Status Importance Assigned to Milestone
Sunbird
Expired
High
lightning-sunbird (Ubuntu)
High
Unassigned

Bug Description

Binary package hint: lightning-extension

I recently switched from Windows to Linux for my desktop operating system. On Windows I was using Sunbird with a davical back-end. I installed the Lightning plug-in in Thunderbird on my new Linux system and tried to connect to the davical. Immediately it displayed 60+ alerts (playing an alarm for each), and when I tried to do dismiss all it said that the data had changed on the server, to which I said submit anyway. After this point, when starting Thunderbird the alarm window pops up (empty) and the notification sound always plays 33 times. Nothing shows up in the error console. I'm running a remote calendar under davical 0.9.6.1 on Debian (Linux 2.6.24-etchnhalf.1-686). I'm using the latest Thunderbird and Lightning packages on Ubuntu 8.10 (Linux 2.6.27-9-generic). This problem didn't occur when I was running Sunbird on Windows.

It would appear that Lightning (and Sunbird) don't play well with calendar data created by other calendar software. I messed around with it a bit, in one case exporting the data to an ICS file, then importing it again (which involved waiting through endless beeps) into a separate CalDAV user space, only to find the problem persisted. I even tried wiping out the davical database and doing an import ... still the same behavior.

I was able to resolve the issue by exporting everything from the CalDAV server to an ICS file, importing it into a local Lightning calendar, acknowledging all of the alerts, exporting it again to another ICS file, deleting everything from the CalDAV server and importing the second ICS file.

This has also been reported to Mozilla in bug report 472961.

TO REPRODUCE

1. Set up a davical server and set up a user to host a calendar.
2. Configure the calendar in Lightning
3. Import ics data from (attached)
4. Attempt to dismiss alerts.
5. Quit thunderbird
6. Start thunderbird again.

WHAT HAPPENS

On step 3 a number of alerts will pop for past events which should already be acknowledged.
On step 6 the alarm window will pop up and there should be multiple beeps. The alarm window should be empty.

WHAT I'D EXPECT

Import without beeping repeatedly, then not pop an empty alarm window every time Thunderbird is opened.

I'm running a remote calendar under davical 0.9.6.1 on Debian (Linux 2.6.24-etchnhalf.1-686). I'm using the latest Thunderbird (2.0.0.19+nobinonly-0ubuntu0.8.10.1) and Lightning (lightning-extension/0.8+nobinonly-0ubuntu1) packages on Ubuntu 8.10 (Linux 2.6.27-9-generic).

Taking, I have a patch about ready that just needs some testing. Aside from the obvious fix of using this.setParameter() (which btw also appears in calRelation.js), I noticed that setting the ical property doesn't seem to reset the property bag. Therefore a testcase similar to the following will fail:

let icalAttach1 = getICSService().createIcalProperty("ATTACH");
let icalAttach2 = getICSService().createIcalProperty("ATTACH");
let attach = cal.createAttachment();

icalAttach1.setParameter("X-THING", "FOO");

attach.icalProperty = icalAttach1;
do_check_eq(attach.getParameter("X-THING"), "FOO");
attach.icalProperty = icalAttach2;
do_check_eq(attach.getParameter("X-THING"), null);

Does this make sense? Or is there a use case for making the parameters stick?

IMO setting the icalProperty must fully reset the object; I think your test case makes sense.

Created an attachment (id=348194)
Fix - v1

This should take care, requires iterators patch from bug 463047 to be applied.

(From update of attachment 348194)
looks good; r=dbo

*** Bug 461405 has been marked as a duplicate of this bug. ***

Checked in lightning build 20081130 -> VERIFIED.

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121622 Ubuntu/8.10 (intrepid) Firefox/3.0.5
Build Identifier: Lightning .8 build 2008060210 on Thunderbird 2.0.0.19 (20090105)

I recently switched from Windows to Linux for my desktop operating system. On Windows I was using Sunbird with a davical back-end. I installed the Lightning plug-in in Thunderbird on my new Linux system and tried to connect to the davical. Immediately it displayed 60+ alerts (playing an alarm for each), and when I tried to do dismiss all it said that the data had changed on the server, to which I said submit anyway. After this point, when starting Thunderbird the alarm window pops up (empty) and the notification sound always plays 33 times. Nothing shows up in the error console. I'm running a remote calendar under davical 0.9.6.1 on Debian (Linux 2.6.24-etchnhalf.1-686). I'm using the latest Thunderbird and Lightning packages on Ubuntu 8.10 (Linux 2.6.27-9-generic). This problem didn't occur when I was running Sunbird on Windows.
It would appear that Lightning (and Sunbird) don't play well with calendar data created by other calendar software. I messed around with it a bit, in one case exporting the data to an ICS file, then importing it again (which involved waiting through endless beeps) into a separate CalDAV user space, only to find the problem persisted. I even tried wiping out the davical database and doing an import ... still the same behavior.

I was able to resolve the issue by exporting everything from the CalDAV server to an ICS file, importing it into a local Lightning calendar, acknowledging all of the alerts, exporting it again to another ICS file, deleting everything from the CalDAV server and importing the second ICS file.

Reproducible: Always

Steps to Reproduce:
1. Set up a davical server and set up a user to host a calendar.
2. Configure the calendar in Lightning
3. Import ics data from http://www.voegtek.com/testcal.ics
4. Attempt to dismiss alerts.
5. Quit thunderbird
6. Starts thunderbird again.
Actual Results:
On step 3 a number of alerts will pop for past events which should already be acknowledged.
On step 6 the alarm window will pop up and there should be multiple beeps. The alarm window should be empty.

Expected Results:
Import without beeping repeatedly, then not pop an empty alarm window every time Thunderbird is opened.

I'm running a remote calendar under davical 0.9.6.1 on Debian (Linux 2.6.24-etchnhalf.1-686). I'm using the latest Thunderbird (2.0.0.19+nobinonly-0ubuntu0.8.10.1) and Lightning (lightning-extension/0.8+nobinonly-0ubuntu1) packages on Ubuntu 8.10 (Linux 2.6.27-9-generic).

Created attachment 356303
Example ICS file with problematic events.

Jason W (jasonw-co) wrote :

Binary package hint: lightning-extension

I recently switched from Windows to Linux for my desktop operating system. On Windows I was using Sunbird with a davical back-end. I installed the Lightning plug-in in Thunderbird on my new Linux system and tried to connect to the davical. Immediately it displayed 60+ alerts (playing an alarm for each), and when I tried to do dismiss all it said that the data had changed on the server, to which I said submit anyway. After this point, when starting Thunderbird the alarm window pops up (empty) and the notification sound always plays 33 times. Nothing shows up in the error console. I'm running a remote calendar under davical 0.9.6.1 on Debian (Linux 2.6.24-etchnhalf.1-686). I'm using the latest Thunderbird and Lightning packages on Ubuntu 8.10 (Linux 2.6.27-9-generic). This problem didn't occur when I was running Sunbird on Windows.

It would appear that Lightning (and Sunbird) don't play well with calendar data created by other calendar software. I messed around with it a bit, in one case exporting the data to an ICS file, then importing it again (which involved waiting through endless beeps) into a separate CalDAV user space, only to find the problem persisted. I even tried wiping out the davical database and doing an import ... still the same behavior.

I was able to resolve the issue by exporting everything from the CalDAV server to an ICS file, importing it into a local Lightning calendar, acknowledging all of the alerts, exporting it again to another ICS file, deleting everything from the CalDAV server and importing the second ICS file.

This has also been reported to Mozilla in bug report 472961.

TO REPRODUCE

1. Set up a davical server and set up a user to host a calendar.
2. Configure the calendar in Lightning
3. Import ics data from (attached)
4. Attempt to dismiss alerts.
5. Quit thunderbird
6. Start thunderbird again.

WHAT HAPPENS

On step 3 a number of alerts will pop for past events which should already be acknowledged.
On step 6 the alarm window will pop up and there should be multiple beeps. The alarm window should be empty.

WHAT I'D EXPECT

Import without beeping repeatedly, then not pop an empty alarm window every time Thunderbird is opened.

I'm running a remote calendar under davical 0.9.6.1 on Debian (Linux 2.6.24-etchnhalf.1-686). I'm using the latest Thunderbird (2.0.0.19+nobinonly-0ubuntu0.8.10.1) and Lightning (lightning-extension/0.8+nobinonly-0ubuntu1) packages on Ubuntu 8.10 (Linux 2.6.27-9-generic).

Jason W (jasonw-co) wrote :

First thing you should try is updating to the latest official release instead of using the old version shipped in Ubuntu. Remove the lightning-extension package, install the required libstdc++5 package and install Lightning <https://addons.mozilla.org/thunderbird/addon/2313>.

The issue with alarm sounds being played one after another is a know issue in the Mozilla Toolkit that is used in Thunderbird, see Bug 110385.

I did the upgrade as you mentioned. The first time I pulled up Lightning it did the same behavior with showing past reminders that had been acknowledged by other clients (with the repeat sounds, holding true to the bug you mentioned). When I clicked "dismiss all" it gave me one after another window of "this item has already been updated, discard changes and reload or submit anyway" (paraphrased). Eventually I got sick of escaping out of that, so I killed the process. After this things appear to be working okay. I guess the problem still remains with alerting the user for events that were acknowledged by other clients when running a new version/installation of Lightning for the first time. Thus far I haven't had the empty window come up, as the previous version did.

I did find that the workaround I used for the older version of Lightning stopped working after scheduling events with reminders then acknowledging them. My hope is that I don't run into that with this version.

John Vivirito (gnomefreak) wrote :

I am able to confirm this in 0.9. I will look upstream for a bug if not i will post this upstream with your comments.

Changed in lightning-sunbird:
status: New → Confirmed
John Vivirito (gnomefreak) wrote :

Added upstream report to track.

Changed in sunbird:
status: Unknown → New

Adding Ubuntu bug to this report just for tracking.
https://bugs.launchpad.net/sunbird/+bug/315732

John Vivirito (gnomefreak) wrote :

Set high due to "Major" being on upstream bug.

Changed in lightning-sunbird:
importance: Undecided → High

CC'ing myself. I suffer from the same issue with a remote .ics file that has been created by lightning and Apple iCal. Is there any way to find the culprit entry, so I can delete it by hand?

(In reply to comment #5)
> CC'ing myself. I suffer from the same issue with a remote .ics file that has
> been created by lightning and Apple iCal. Is there any way to find the culprit
> entry, so I can delete it by hand?

Sebastian, which Lightning version and OS do you use?

lightning 0.9 and thunderbird 2.0.0.21 from the Ubuntu jaunty repositories. I'd be willing to test this with a later nightly if there are chances that the issue could be solved already. (one problem being that I am on amd64 and the latest nightlies arae only built for i686)

It is my work calendar file, so I won't be able to attach it here, unfortunately. But I'll happily dig through the file if I get some clues what to look for :)

Yes, please try 1.0pre and tb3beta2 or later. Be sure to use a new profile. Also see bug 496883, maybe its the same issue, nothing being in the alarm window may be a timing issue?

Ron_ (ronald-liebman) wrote :

This may or may not be related...

File, Import Calendar... to import an .ics file on my machine fails. TB Error Console complains "this.setProperty" (line 162 in calAttachment.js ) is not a function.

This looks like a regression to an old bug: https://bugzilla.mozilla.org/show_bug.cgi?id=464560 .

I've got Ubuntu 9.10, Thunderbird 2.0.0.23 (20090817), Lightning 0.9 .

No response for a while now, closing INCOMPLETE. Please reopen if you can reproduce or answer any unanswered questions.

Changed in sunbird:
status: New → Invalid
Changed in sunbird:
importance: Unknown → High
status: Invalid → Expired
Christopher (soft-kristal) wrote :

It's been stuck in the updates for some weeks now on Precise and Thunderbird 11. This from synaptic:

Depends: libawl-php (>=0.51-1~) but 0.49-1 is to be installed

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.