Closed Bug 668222 Opened 13 years ago Closed 13 years ago

Thunderbird Does Not Process Meeting Invites from Outlook, Google Calendar

Categories

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

Lightning 1.0b4
All
Other
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: peshko.us, Assigned: Fallen)

References

Details

(Whiteboard: [needed beta][no l10n impact])

Attachments

(4 files, 1 obsolete file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0
Build ID: 20110622131247

Steps to reproduce:

Just upgraded to TB 5.0 and Lightning 1.0b4 on Linux x86-64 bit. Apparently bugzilla does not have 1.0b4 version in the drop down list, so I had to put unspecified.

Colleague scheduled a meeting with Outlook. I get an email, with an option to Accept, Deny, Tentative...Apparently after I hit Accept, buttons disappear for a few sec and they show again with nothing processed. 


Actual results:

Nothing and that is the problem.


Expected results:

Meeting processed and showing up in my calendar. Additionally an email should have been sent to the originator that I Accepted the meeting.
Severity: normal → critical
Priority: -- → P1
How many and what type of calendars do you have in your calendar list?
I have two:

- One CalDAV
- One Google Calendar
Basically it didn't change from Lightning 1.0b2
Could you enable calendar.debug.log and calendar.debug.log.verbose in the advanced config editor and then see if messages show up in the error console after accepting?

Also, check if the identities you have set are still set in the calendar properties dialog.
This is what I get immediately after I hit Accept:

Error: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [calIIcalProperty.setParameter]"  nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)"  location: "JS frame :: resource://calendar/modules/calUtils.jsm -> file:///home/myname/.thunderbird/j2jsaded.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calAttendee.js :: <TOP_LEVEL> :: line 158"  data: no]

Identitiea are ok.
Interesting. Could you attach the invite.ics thats part of that meeting invitation?
Attached file Invitation β€”
invite.ics attached.
Version: unspecified → Lightning 1.0b4
What is the status on this one? This is pretty critical.
Sorry. Putting on my list for investigation, I'll try to test the file soon.
Flags: blocking-calendar1.0+
Whiteboard: [needed beta][no l10n impact]
hmm I can't reproduce this error with just adding the file, could you send me an invitation to mozilla at kewis ch ?

What are your identities set to? both to the same email? Could you try disabling the google calendar and then accepting again?
The interesting part is if I save the ics file and simply go to Events and Tasks --> Import, and then select to import the ics file, it imports it successfully and puts in the calendar. So it cannot process it ONLY when you push the button within the email.
Comment 10 is private: false
I'll send you an invite from shortly. Here is another error message. Here is the scenario. If someone sends me an invitation to my Google Calendar, if I hit Accept, it gives me an option to select only my Business Calendar. I do not see the Google Calendar, which is my personal...They have diff identities with diff emails. Again, I sent an invitation from my business calendar to my personal. I received a message in my personal email with an option to Accept, Deny, etc. When I click on Accept it shows a dialog with a question to which calendar I'd like to add this event. In the list I see ONLY my business calendar and not the personal (Google) calendar.

On the other hand if I manually want to import the ics, it shows similar if not the same dialog and has all calendars listed. Both my business and my personal calendars are enabled.

I also see another message in the Error Console:

Error: [Exception... "'Method not implemented' when calling method: [calICompositeCalendar::getProperty]"  nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)"  location: "JS frame :: resource://calendar/modules/calItipUtils.jsm :: addScheduleAgentClient :: line 953"  data: no]
Ok, I see whats happening now. Somehow it seems that the composite calendar is used when checking for some scheduling properties, which reports that method is not implemented.

A side note, a Google Calendar is not the right place to accept invitations to. As noted in the FAQ, the only reliable way of doing so is to "auto accept invitations" so that Google adds them into the calendar. Accepting invitations that are not sent to your Google account is not supported. There are a few preferences to change this, but it may cause all attendees of the event to be spammed with counter-invites from Google.

You could try adding your Google Calendar as a CalDAV Calendar, that might work a bit better w.r.t invitations. Check out http://www.google.com/support/calendar/bin/answer.py?hl=en&answer=99358#sunbird
Just sent an invitation from my Google Calendar.

The problem that I have is NOT with my Google Calendar, but with my Business CalDAV calendar.
Did you get my invitation?
Yes, received. I'll take a look tomorrow.
Great! Thank you very much for your effort!
I've tested your invite, but unfortunately I could not reproduce this locally. I have a patch ready that should shift the problem somewhere else (i.e maybe somewhere we can find it), but it would be nice to figure out the real problem.

The getProperty error happens because of what I wrote in comment 13. I've added forwarding code from the composite calendar to the selected default calendar, this might actually make it work.

The attendee error comes from the scheduling code somewhere. There are a few places where we change the attendees to fit the correct format for itip invitations. I just need to find out which call it is and what parameter is being rejected.

Could you paste the exact log of whats happening before the Error in calItipUtils.jsm :: addScheduleAgentClient ? This should not only include errors, but also log messages, especially those containing "iTIP".

Unless you have super-sensitive data in your calendar, maybe you can send me your whole profile? I won't be needing any password data, so go ahead and remove secmod.db, key3.db and cert8.db from the copy you are sending me.
Attached patch Fix - v1 (obsolete) β€” β€” Splinter Review
So this patch adds a few safety nets to setting ical parameters and forwards the composite calendar properties to the default calendar. It does not technically fix the issue, but may help finding the reason.

peshko, what OS are you running, maybe I can spin a test build for you.
Assignee: nobody → philipp
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Attachment #545460 - Flags: review?(matthew.mecca)
Hi Phil, thanks for your commitment and dedication.

I am running Ubuntu 10.04 64-bit. If you can get a built that would be great! Otherwise if you can help me out on creating a build locally for me would do the job.

Quote: "Could you paste the exact log of whats happening before the Error in calItipUtils.jsm :: addScheduleAgentClient ? This should not only include errors, but also log messages, especially those containing "iTIP"."

How can I get that log generated?
Comment on attachment 545460 [details] [diff] [review]
Fix - v1

Looks good. r=mmecca
Attachment #545460 - Flags: review?(matthew.mecca) → review+
I've just given the patch a spin and this appeared in the log:
> Warning: Invalid attendee parameter value SCHEDULE-AGENT=CLIENT

Very true, it should be an ORGANIZER parameter. Lightning also does not generate a REPLY message.

It's not set on the original invite (generated by lightning 1.0b2). It's not set in the event on the server. I also snooped with wireshark, and it's not set on the event uploaded to the server.
Thank you very much! I know where to fix this now, I had assumed that libical treats any unknown parameters as IANA parameters and allows them, but it seems thats not the case.

In Lightning ATTENDEE/ORGANIZER is handled by the same class so thats not a problem. This extra parameter is set for servers that support server-side scheduling to ensure that the server knows that the client will take care of sending out the scheduling messages.

A new patch is coming up.
Attached patch Fix - v2 β€” β€” Splinter Review
Ok, this patch contains v1 and some code to accept IANA parameters. This should guard us from any unknown parameters in the future.
Attachment #545460 - Attachment is obsolete: true
Attachment #545921 - Flags: review?(matthew.mecca)
How can I use v2?
Comment on attachment 545921 [details] [diff] [review]
Fix - v2

Review of attachment 545921 [details] [diff] [review]:
-----------------------------------------------------------------

I can't confirm that this fixes the original issue, but codewise it looks good. r=mmecca
Attachment #545921 - Flags: review?(matthew.mecca) → review+
In my testing this does fix the originally reported bug. SCHEDULE-AGENT=CLIENT is set on the ORGANIZER and Lightning prompts to send a reply to the organiser. Event gets added to the CalDAV server.

However:
If the event already exists on the server, Lightning now always sets SCHEDULE-AGENT=CLIENT on the ORGANIZER property and commits its changes, prompting to send a mail. Lightning 1.0b2 would only update PARTSTAT on its relevant ATTENDEE and then act in accordance with the SCHEDULE-AGENT parameter on the CalDAV event. 

A side effect is that this slightly confuses SOGo (the server I use.) Both SOGo and Lightning generate a reply. As this is a shared event across all attendees it might have knock-on effects on other clients. This could be a bug/design flaw in SOGo.

draft-desruisseaux-caldav-sched-09 #10.1 is rather vague here. It says SCHEDULE-AGENT *may* be set on ORGANIZER or ATTENDEE properties to specify who generates replies to that target. No expectation about when it can be set or updated. The only thing it is clear on is not including the parameter in generated mails, which Lightning is now in breach of.

As this feature has only now started working (for me) I'm not sure if it's related to this patch or wider changes in 1.0b4.


(In reply to comment #26)
> How can I use v2?
I grabbed a copy of the Lightning 1.0b4 release tag from mozilla's mercurial repo (http://hg.mozilla.org/releases/comm-miramar/rev/c41ac7a20af3), applied the v2 patch then followed the instructions on https://wiki.mozilla.org/Calendar:Build - remembering to pass --skip-comm to client.py.
Ludovic, Simon, do you have more info on the schedule agent parameter and a reply for comment 28?
Are you planning to release a new xpi?
Pushed to comm-central <http://hg.mozilla.org/comm-central/rev/a047e0ff2fff>
-> FIXED
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → Trunk
Backported to comm-miramar <http://hg.mozilla.org/releases/comm-miramar/rev/421f616f9c5a>
Target Milestone: Trunk → 1.0b5
Looks like your checkin broke the Linux builders: http://tinderbox.mozilla.org/showlog.cgi?log=CalendarTrunk/1311062653.1311062964.22963.gz#err0

(Mac OS X and Windows are already failing since days because off other errors)
That should be due to bug 603416, a BOM slipped in. No idea where that came from. Please also note the builders are off today for 1.0b5rc1.
I revoke the statements made in comment 28 after "However". These problems are not related to this patch. Further testing has found them in 1.0b2
See that the fix is out. Is there going to be an xpi out?
I run ubuntu 64 bit
When is planned to create the xpi for Windows in Englisch and German ? I want to test the Fix for Bug 671788. (Similar to this)
This picture shows what thunderbird displays
This is the source of the email slightly edited to remove email addresses in the distribution list.  Please see the other attachment for how it looks when viewed in Thunderbird.
Sorry, not used to using the bug system, please see my previous two emails with attachments to see a problem i have with Thunderbird 17.0.6 on Ubuntu 12.10 64 bit.

I am not seeing Outlook calendar invites at all.  The emails are just blank when viewed.
I have this bug. Should I open a new ticket?
Please do so.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: