Closed Bug 723533 Opened 8 years ago Closed 8 years ago

Lightning 1.2 does not send invites from CalDAV cals; only cancellations

Categories

(Calendar :: E-mail based Scheduling (iTIP/iMIP), defect, critical)

Lightning 1.2
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: info, Assigned: Fallen)

References

Details

(Whiteboard: [wanted-1.2.2])

Attachments

(2 files, 2 obsolete files)

User Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Build ID: 20111220165912

Steps to reproduce:

I have a CalDAV calendar. I created an event with invitees.


Actual results:

No invites are sent. Even when the event is modified, no new invites are sent, just as if there were no invitees to the event. An invite is sent only when I remove the event (at which point a cancellation is sent).

Also, when an incoming invitation arrives, no CalDAV calendars are available to receive the invitation.
Severity: normal → critical
Do you get any error console messages? Please enable calendar.debug.log and calendar.debug.log.verbose in the advanced config editor (options > andvanecd> general > config editor)
Thank you.

When adding the event to the calendar (with an invitee). I get the following messages (IP address changed):

Warning: Use of getAttributeNodeNS() is deprecated. Use getAttributeNS() instead.
Source File: chrome://calendar/content/calendar-event-dialog-attendees.xul
Line: 0

Warning: Error in parsing value for 'min-height'.  Declaration dropped.
Source File: chrome://calendar/skin/calendar-event-dialog.css
Line: 0

192.116.217.180 : server does not support RFC 5746, see CVE-2009-3555

CalDAV: itemUri.spec = https://166.149.135.17/caldir/apps/calendar/caldav.php/calendars/hagai/office/8cb397b6-bf2c-42a7-9e3b-9b5da922f447.ics

CalDAV: Item added to Office successfully

Error: [Exception... "'Component not initialized' when calling method: [calIAttendee::icalProperty]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: resource://calendar/modules/calUtils.jsm -> file:///l:/thunderbird/profile/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calItemBase.js :: cIB_fillIcalComponentFromBase :: line 974"  data: no]

aChangeLogListener=undefined
calendarURI=https://166.149.135.17/caldir/apps/calendar/caldav.php/calendars/hagai/office/ 
iscached=false
this.mQueuedQueries.length=0
Confirming as I have heard a few reports of this in the reviews section. Wolfgang, would you do me a favor and find out whats going wrong here?

Thanks!
Status: UNCONFIRMED → NEW
Ever confirmed: true
Another artifact I noticed is that editing an event for which notifications were sent (e.g., with a previous version of Lightning, when it still worked), prevent the event edit window from closing.

The logged error is:

Error: anAttendee.id is null
Source File: resource://calendar/modules/calUtils.jsm -> file:// [snip]/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js
Line: 346
It was further noticed that CalDAV calendars are not accepting incoming invitations. (They are not made available in the menu of calendars.)
I can confirm that this is still a problem with Lightning 1.2.1 with Thunderbird 10.0.2 on WInXP SP3.

I can also confirm that this is not an issue with Lightning v0.9 and Thunderbird 2.0.0.24.
It seems that editing events in a CalDAV calendar is not possible at all because of this bug. Upon clicking the button "Save and Close" the above-mentioned message
  anAttendee.id is null (calUtils.js Line: 346)
is shown in the Error Console and the Edit Window just remains open...

Problem observed with Lightning 1.2.1 with Thunderbird 10.0.2 (on Ubuntu 11.10)
hmm that happens in the method attendeeMatchesAddresses, which is referenced here:

http://mxr.mozilla.org/comm-central/ident?i=attendeeMatchesAddresses

It seems in some cases an attendee without id is passed, which will likely also cause  the component not initialized message.

Could someone with this issue provide me with a test account?
I have sent the details of the test CalDAV account to Philipp by e-mail. If anyone else needs it, please let me know.

I am really eager to have it fixed, as it's a critical issue for me, and for whoever uses CalDAV.
Attached patch Possible Fix, with debug info (obsolete) β€” β€” Splinter Review
This patch fixes some issues, but I've only done the server side of things. I'd need someone to:

* give me a test account with:
  - email access
  - calendar access

* apply this patch and send me a few invitations to the email of the test account

Hagai, since you've given me a caldav account, do you think you could also take care of the rest? If not, I might have a different test account in the evening.
Assignee: nobody → philipp
Status: NEW → ASSIGNED
Hello Philipp, I'd like to help if I can.  I have just set up a Lightning configuration on about 20 computers at a customer. The email and CALDAV server is VPOP3. I can set up an account for you on that server if it helps.  The calendar side is not live yet (and can't be until we fix this problem), so you can play around with test entries in the global calendars without affecting anything

I am pretty new to this environment.  Is the patch you have issued for Lightning itself?  Please advise how I apply the diff file patch to our Lightning installations (we are running Lightning on Windows).

Thanks,

Pete
Thanks. I am obviously willing to install and provide the test e-mail account. However, I cannot apply the patch as I don't have the src and provider files mentioned in it. I only have the contents of the .xpi file, and don't have build facilities in place.
Attached file Windows XPI for testing (obsolete) β€”
This is a windows xpi with the patch applied. If you have supplied me with a test account, please install this version of Lightning and send a few invitations to the internal account you have created for me.

I'd appreciate if you have time for this today, so I can push this to the beta channel asap.
Attached patch Fix - v1 β€” β€” Splinter Review
I'm fairly confident that this will restore functionality. I'm going to push it to beta anyway, but Wolfgang I'd appreciate if you could review this patch nevertheless.
Attachment #602974 - Flags: review?(WSourdeau)
Pushed to comm-central changeset 62bcac2b45b7
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.5
Backported to releases/comm-aurora changeset 8c524c672943
Target Milestone: 1.5 → 1.4
Backported to releases/comm-beta changeset e6458d7f3aeb
Target Milestone: 1.4 → 1.3
Thanks Philipp!

I will establish the test account and send you the details to your e-mail address, as I did with the CalDav server. I will also install the patch and send you a few invites.

I apologize for not being more responsive. Consider that I am at GMT+2, so there is some time-zone difference between us (10 hours if you are at PST).

Hagai.
Actually, I am in CET. But don't worry. I didn't commit this patch because of your responsiveness, but because I would like to create a beta build asap and I was confident the patch would solve the issue.



Also, good news! The test accounts all of you have created for me have helped isolate the issue and the patch I've committed does fix the issue.

If you like, you can cancel my test account now.
We should consider creating an updated ESR-compatible release with this bug, since it often affects enterprise customers.
Whiteboard: [wanted-1.2.2]
Backported to releases/comm-release changeset 7da314e89062 for Lightning 1.2.2
Target Milestone: 1.3 → 1.2.2
Thanks! While I have not carried out intense testing, it does seem as your patch fixes the bug well.
Thank you very much for your support.
Thanks for the update.

When testing with latest Davical on Thunderbird 10.0.2, I receive the error message 

Error: reponse is not defined
Source File: file:///X:/c0_email/system/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calDavCalendar.js
Line: 2009

In consequence, some but not all (???) caldav-Calendars are not displayed.

Lukas
Lukas, could you check which version of Lightning you are using? I checked the comm-release repository and I can't find any occurrence of "reponse" in any calendar related files:

http://mxr.mozilla.org/comm-release/search?string=reponse&find=calendar&findi=&filter=^[^\0]*%24&hitlimit=&tree=comm-release
Unfortunately, it seems as invites that are accepted are only updated in the cache, but do not propagate to the CalDAV server.
I diagnosed the problem above to result from misbehavior of the server, rather than of Lightning. Sorry for ringing the bell too quickly...
Philipp, I tested with the XPI that you mentioned. Today, I re-tested with exactly that XPI again: Lightning 1.2.1.bug723533.

The following error messages today:

Error: reponse is not defined
Source File: file:///X:/c0_email/system/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calDavCalendar.js
Line: 2009

Error: [calCachedCalendar] replay action failed: null, uri=https://calendar.server.net/caldav.php/lr/shared/, result=2147500037, op=[xpconnect wrapped calIOperation]

HTH

Thanks, Lukas
The attached xpi is broken. It contains some test code that has a typo in it (response > reponse) causing the error. Try the 1.2.2-candidate build instead: https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.2.2-candidates/build1/unsigned/win32/
Thanks for pointing me to the candidate.  The aforementioned errors disappeared.

I do have the following warnings:

Warning: Use of getAttributeNodeNS() is deprecated. Use getAttributeNS() instead.
Source File: chrome://calendar/content/calendar-event-dialog-attendees.xul
Line: 0

Warning: Error in parsing value for 'min-height'.  Declaration dropped.
Source File: chrome://calendar/skin/calendar-event-dialog.css
Line: 0

Warning: reference to undefined property this.treeBoxObject.view
Source File: chrome://global/content/bindings/tree.xml
Line: 0


One remark: I still cannot send invitations from caldav-calendars while cancellations still work.

Thank you.
Stefan, thanks for the hint. At least I know where the reponse thing comes from!

Lukas, this happens for you with Thunderbird 10 and the candidate build 1.2.2 ? Do you get any more debugging messages with the calendar debug prefs enabled? Specifically those messages around sending invitations are interesting.
Attachment #601977 - Attachment is obsolete: true
Attachment #602950 - Attachment is obsolete: true
Philip

The debug prefs were enabled already.  More debugging messages were not available.  And yes, it was latest official/stable Thunderbird with the release candidate build 1.2.2

Next all error and warning messages that I received after restarting the Thunderbird 10.0.2 with release candidate

Warning: Error in parsing value for 'min-height'.  Declaration dropped.
Source File: chrome://calendar/skin/calendar-event-dialog.css
Line: 0

Warning: Use of getAttributeNodeNS() is deprecated. Use getAttributeNS() instead.
Source File: chrome://calendar/content/calendar-event-dialog-attendees.xul
Line: 0

Warning: reference to undefined property b.view
Source File: chrome://global/content/bindings/tree.xml
Line: 1034

Warning: reference to undefined property tzService.timezoneIds
Source File: chrome://calendar/content/preferences/timezones.js
Line: 55

Warning: variable event redeclares argument
Source File: chrome://messenger/content/mailWidgets.xml
Line: 399, Column: 12
Source Code:
        let event = document.createEvent("Events"); 

Warning: Error in parsing value for 'text-align'.  Declaration dropped.
Source File: mailbox:///X:/c0_email/Mail/email.consecom-1.com/Inbox?number=576047666
Line: 0

Error: attachmentListClick is not defined
Source File: chrome://enigmail/content/enigmailMessengerOverlay.js
Line: 2083

Thank you.

Best regards
Lukas
I am still seeing this issue running Thunderbird 12.0.1 + Lightning 1.4 under Linux and on Thunderbird 12.0.1 + Lightning 1.4 running under Windows XP service Pack three.   On Caldav-based calendars the "Notify Attendees" box is checked, but grayed-out.  Attendees do not receive any notification.  No dialog box requesting permission to sent out the Email notification opens, either.

On linux using a "local" calendar the "Notify Attendees" box is checked and NOT grayed-out - in this case an Email with an ics attachment is sent after a confirmation box to send out the Email is acknowledged.
Exactly same issue describe in comment #32.
I'm still seeing this bug as well, Thunderbird 12.0.1/Lightning 1.4 on Linux.
I can also confirm the bug, on Thunderbird 13/Lightning 1.5b1 on Linux.

I've been developing a calendaring extension to OpenERP, it's a little unclear to me at this point whether the calendaring server is meant to send the email, or the client.  Perhaps someone could fill me in on this.  I initially thought it was meant to be sent by the server, but then I noticed cancellations were being sent by the client so now I'm not so sure.

Creating a new event, I am neither prompted for, nor does the client make any attempt to send an email invitation to the person.

When I delete the event, or remove someone from the invitation list, after clicking Save I am *then* asked if I wish to send notifications.  When I click OK, it does so, and an email with a .ics attachment is dispatched to the addresses specified.  I'll attach the debugging output seen on stdout/stderr in a moment, but some advice on where the issue lies and how to fix it would be greatly appreciated, as it is apparent to me that the issue is indeed *not* fixed.
Okay, please disregard... the bug isn't with Lightning.  Or at least doesn't appear to be.

Some information for those in my situation trying to interface Lightning with a CalDAV server.
OpenERP's CalDAV implementation features a work-around for so-called "buggy clients" wherein it registers an alias for vevent objects linking the name given by the "buggy client" to the actual object.

It enables this for the iPhone and iPad.  I found the problem disappeared in Thunderbird when I removed the code that checks for iPhone and iPad, making it register aliases for all clients.

It seems Thunderbird, does not like it when it does a PUT with a certain file name, but then has the event created under a different file name -- the two names need to match.

So apologies for the noise, but hopefully the above notes might give other CalDAV integrators a clue when they strike this symptom in Thunderbird with their various CalDAV implementations.
Attachment #602974 - Flags: review?(WSourdeau) → review+
Duplicate of this bug: 738576
I'm still seeing this bug as well, Thunderbird 24.1.1/Lightning 2.6.3 on Linux and Windows.
Invitations are sent to attendees uniquely on event deletion, never on creation or modification.
Confirmed bug here - users reporting that they can send cancelation or change request but they are unable to push invitation (win+linux : Thunderbird 24.1.1 : Lighning 2.6.3 ) 
No patches available? --> why status of this thread is "resolved-fixed"?
Same here. No invitations are being sent with a Zaraffa Caldav appointment.
But on cancelation emails are being sent.
Same bug 945653 but assigned to Lightning version 2.6.3
-> https://bugzilla.mozilla.org/show_bug.cgi?id=945653
Hi, to my latest tests with manual apply patches to 2.6.3 with TB 24.2 linux 64, caldav offline sync now works fine ,same with 2.6.4 ( latest  releases/comm-esr24 ) but i still cannot send invite mail with caldav server ( horde ) where no caldav scheduling is implemented yet.
You need to log in before you can comment on or make changes to this bug.