Last Comment Bug 392465 - Accept meeting invitation fails (has RECURRENCE-ID but no parent item)
: Accept meeting invitation fails (has RECURRENCE-ID but no parent item)
Status: RESOLVED FIXED
:
Product: Calendar
Classification: Client Software
Component: E-mail based Scheduling (iTIP/iMIP) (show other bugs)
: unspecified
: All All
: -- normal with 7 votes (vote)
: 1.0b1
Assigned To: Daniel Boelzle [:dbo]
:
:
Mentors:
: 403626 404053 437363 477600 (view as bug list)
Depends on: 457203
Blocks: 357399 423861 437982 445483 463195 464705
  Show dependency treegraph
 
Reported: 2007-08-16 10:39 PDT by David
Modified: 2011-11-07 03:55 PST (History)
18 users (show)
dbo.moz: blocking‑calendar1.0+
dbo.moz: wanted‑calendar1.0+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Anonymized test appointment invite (10.77 KB, message/rfc822)
2007-10-02 13:04 PDT, DK
no flags Details
Meeting request that will not add to lightning (2.13 KB, text/calendar)
2007-10-11 08:32 PDT, Jason
no flags Details
non importing ics file crafted by OutLook (4.01 KB, application/octet-stream)
2007-10-22 07:19 PDT, tblader
no flags Details
patch - v1 (52.08 KB, patch)
2008-11-13 09:14 PST, Daniel Boelzle [:dbo]
philipp: review+
Details | Diff | Splinter Review
patch - v2 (60.60 KB, patch)
2008-11-18 13:51 PST, Daniel Boelzle [:dbo]
no flags Details | Diff | Splinter Review
patch - v2, debitrotted (60.47 KB, patch)
2008-11-18 23:04 PST, Daniel Boelzle [:dbo]
no flags Details | Diff | Splinter Review
patch - v3 (85.32 KB, patch)
2008-11-20 05:08 PST, Daniel Boelzle [:dbo]
philipp: review+
Details | Diff | Splinter Review

Description David 2007-08-16 10:39:16 PDT
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Build Identifier: Thunderbird 20070728

I received a meeting invited generate by Outlook. Hitting the accept button in preview pane or a separate message window does nothing. The invitation is not accepted.

Is there a console view or something I can do to gather more information about what is (not) happening ?

Reproducible: Always

Steps to Reproduce:
1. click accept button on a meeting invite message.
2.
3.



Other outlook meetings have worked so I am not sure what is special about this message.
Comment 1 Stefan Sitter 2007-08-16 11:20:27 PDT
What version of Lightning do you use?

> Is there a console view or something I can do to gather more
> information about what is (not) happening ?

Yes. Please check menu Tools -> Error Console for related error messages.
Comment 2 David 2007-08-16 11:49:19 PDT
Clicking accept once generates the following three messages

Error: [Exception... "'Component not initialized' when calling method: [calIItipItem::clone]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: file:///D:/Profiles/mgia0567.DS/Application%20Data/Thunderbird/Profiles/sqv764jn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js :: cipPII :: line 108"  data: no]
Source File: file:///D:/Profiles/mgia0567.DS/Application%20Data/Thunderbird/Profiles/sqv764jn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js
Line: 108

Error: [Exception... "'Component not initialized' when calling method: [calIItipItem::clone]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: file:///D:/Profiles/mgia0567.DS/Application%20Data/Thunderbird/Profiles/sqv764jn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js :: cipPII :: line 108"  data: no]
Source File: file:///D:/Profiles/mgia0567.DS/Application%20Data/Thunderbird/Profiles/sqv764jn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js
Line: 108

Error: uncaught exception: [Exception... "'Component not initialized' when calling method: [calIItipItem::clone]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: file:///D:/Profiles/mgia0567.DS/Application%20Data/Thunderbird/Profiles/sqv764jn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js :: cipPII :: line 108"  data: no]

Comment 3 David 2007-08-16 11:51:24 PDT
I am using Lightning 0.5 for Thunderbird (build 2007062404)
Comment 4 tblader 2007-09-11 11:32:25 PDT
Same here with latest thunderbird version 2.0.0.6 (20070728) and Lightning 0.5 (build 2007062504)  on Linux x86.  Seems to happen most often with M$ Outlook.


Error: [Exception... "'Component not initialized' when calling method: [calIItipItem::clone]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: file:///home/someuser/.thunderbird/rgcgs2nn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js :: cipPII :: line 108"  data: no]
Source File: file:///home/someuser/.thunderbird/rgcgs2nn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js
Line: 108

Error: [Exception... "'Component not initialized' when calling method: [calIItipItem::clone]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: file:///home/someuser/.thunderbird/rgcgs2nn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js :: cipPII :: line 108"  data: no]
Source File: file:///home/someuser/.thunderbird/rgcgs2nn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js
Line: 108


Error: uncaught exception: [Exception... "'Component not initialized' when calling method: [calIItipItem::clone]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: file:///home/someuser/.thunderbird/rgcgs2nn.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calItipProcessor.js :: cipPII :: line 108"  data: no]
Comment 5 DK 2007-10-02 12:00:43 PDT
I have the same problem with invitations coming from Outlook 2000. I have a distinct recollection that when I first installed Lightning accepts were working.
Now they are not working anymore. I have tested 3 versions:

- 0.5 under Windows XP

- 0.5 under Mac OS X

Here is the error I am getting there:

Error: uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIMessenger.messageServiceFromURI]"  nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)"  location: "JS frame :: chrome://lightning/content/imip-bar.js :: getMsgRecipient :: line 222"  data: no]

- 0.7 latest nightly build under Windows XP
Comment 6 Sebastian Schwieger 2007-10-02 12:40:53 PDT
Can someone attach an (anonymized) message source, please?
Comment 7 DK 2007-10-02 13:04:51 PDT
Created attachment 283238 [details]
Anonymized test appointment invite
Comment 8 DK 2007-10-02 13:05:45 PDT
Attached one of my invites (anonymized)
Comment 9 Jason 2007-10-11 08:18:24 PDT
I can confirm the same error as David in Comment #2 referencing line 108.

I am using Thunderbird v2.0.0.6 (20070728)
Lightning v0.5 (build 2007062404)

Win XP Pro SP2
Comment 10 Jason 2007-10-11 08:31:35 PDT
I tried to add the invite through import, and nothing happens then either.  I will attach the anonymized invite below.
Comment 11 Jason 2007-10-11 08:32:40 PDT
Created attachment 284473 [details]
Meeting request that will not add to lightning
Comment 12 Sebastian Schwieger 2007-10-11 09:37:20 PDT
I can confirm the behaviour Jason reported. The event contains an Recurrence-ID. The parent is missing. This is the same problem as discussed in bug 357399. The behaviour is, however, different from what is reported there.
(Additionally, after unsuccefully trying to import, the calendar views are screwed. Just try to delete another event. There is no UI feedback until the views are refreshed)

The attached email from DK shows different behaviour. This can be imported! It can not be added via ITIP.



Comment 13 DK 2007-10-11 13:38:21 PDT
I can confirm that the import workaround worked. I'll use this workaround for the time being until the bug is fixed. Here are the steps that I do:

1. Save an invite message as *.eml
2. Open it and copy calendar part: between BEGIN:VCALENDAR and END:VCALENDAR
3. Paste it into a new *.ics file
4. Calendar | Import 

Any advice on how to optimize this workaround would be appreciated.
Comment 14 Sebastian Schwieger 2007-10-11 23:56:03 PDT
(In reply to comment #13)
> 
> Any advice on how to optimize this workaround would be appreciated.
> 
You can save the attachment "meeting.ics" and import it afterwards. No need to copy the calendar part out of the eml file.
Comment 15 DK 2007-10-12 07:32:25 PDT
Well, I did not have meeting.ics in my invite. I looked closer and it turns out that ICS was hiding under the name "Part 1.1.1". So, yes, using this would reduce the hassle.

Thanks!
Comment 16 tblader 2007-10-22 07:19:32 PDT
Created attachment 285727 [details]
non importing ics file crafted by OutLook

ICS file saved from Thunderbird which will not import using the Lightning calendar extension.  Using the "Accept" button produces the "component not initialized" error.
Comment 17 mhealy 2007-10-30 07:11:05 PDT
I updated from Lightning 0.5 to 0.7.  Previous to the upgrade, I was able to accept invitations without a problem, but I am now experiencing this issue (i.e., clicking on either "accept" or "decline" fails to have any result)In my case, the original invitation was created using Microsoft Exchange V6.5 directly (via its web interface).

Versions: 
* Lightning 0.7
* Thunderbird 2.0.0.6 (20070728)
* Windows XP (Build 2600.xpsp_sp2_qfe.070227-2300)
Comment 18 Thomas 2007-10-31 20:17:30 PDT
I upgraded to version 0.7 and am no longer able to accept invites via new message windows (when I double click on a message). However, if I load the message in the preview pane, it works fine.

I know I commented on this bug prior to v0.5 and it was fixed in the v0.5 release.  But now it's back.

Thanks
Thomas
Lightning 0.7 (with Provider 0.3.1)
Thunderbird 2.0.0.6
Mac OS 10.4.10 - Intel
Comment 19 Stefan Sitter 2007-11-13 09:35:19 PST
*** Bug 403626 has been marked as a duplicate of this bug. ***
Comment 20 DK 2007-11-13 13:43:58 PST
I have upgraded to Lightning 0.7 and am reporting that I still have the same issue. The bug is not fixed.
Comment 21 Jose galvez 2007-11-16 10:05:28 PST
I have the same problem after upgrading to 0.7 on linux and windows
jose
Comment 22 Sebastian Schwieger 2007-11-17 11:47:08 PST
*** Bug 404053 has been marked as a duplicate of this bug. ***
Comment 23 Simon Paquet [:sipaq] 2007-11-25 08:04:37 PST
It would be good to have a solution for this in 0.8
Comment 24 joesse 2007-12-05 02:38:17 PST
Same here with invitations coming from Lotus Notes.
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
Lightning 0.7
Comment 25 Ken 2007-12-05 11:58:17 PST
Same here with:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Thunderbird version 2.0.0.9 (20071031)
Lightning 0.7

I get the three error messages, when I click the accept button, but they are all on line 109.

NOTE: the first time I tried the accept button it worked.  It has not ever worked since.

Also, I did a bugzilla search for calItipProcessor.js, and it didn't find any of these bugs.  Shouldn't this bug have shown up?  Or is there some regular-expression magic that I should have used (given that the file:/// URI from the error message is different for everyone).
Comment 26 tblader 2007-12-10 12:06:25 PST
(In reply to comment #16)
> Created an attachment (id=285727) [details]
> non importing ics file crafted by OutLook
> 
> ICS file saved from Thunderbird which will not import using the Lightning
> calendar extension.  Using the "Accept" button produces the "component not
> initialized" error.
> 

Just fyi. I was able to work around this error by removing the RECURRENCE-ID field from the ICS file and re-sending it.

RECURRENCE-ID;TZID="GMT -0600 (Standard) / GMT -0500 (Daylight)":20071016T1
 30000

Comment 27 Bas van den Bosch 2008-01-08 03:47:50 PST
The solution for this would be to search for the parent item in the calendar in which the event would be added. If it's not there, delete the recurrence-id, if it's there, just add the event. 
Comment 28 Simon Paquet [:sipaq] 2008-02-08 01:18:32 PST
Not going to happen for 0.8.
Comment 29 Stefan Sitter 2008-06-05 02:08:33 PDT
*** Bug 437363 has been marked as a duplicate of this bug. ***
Comment 30 Daniel Boelzle [:dbo] 2008-06-05 02:56:15 PDT
I think this is needed for a good iTIP/iMIP experience :)
Comment 31 Daniel Boelzle [:dbo] 2008-08-21 10:57:36 PDT
Not going to happen for 0.9.
Comment 32 Stefan Sitter 2008-08-25 07:50:04 PDT
Could someone retest with a recent nightly build? I'd like to know if the original failure situation still occurs or if the failure situation is now the same as in Bug 437982 / Bug 451542.
Comment 33 Mark Topper 2008-08-28 13:03:22 PDT
Problem still occurs with me. First noticed this day before yesterday. Would it be possible that someone somehow solves this problem? The work-around downloading the ics and adding it again doesn't really work either, it just adds an agenda for me.. 

It would truelly be great if this would be solved.
Comment 34 d2_c2 2008-09-05 09:10:24 PDT
I've had this behaviour several times, but looking in the error console says that I am not a meeting attendee, so some instances of this behaviour may be a result of how the invite was initially created.

Feature request:  TB tell you when you are not an attendee and provide options to become one, if appropriate.
Comment 35 Daniel Boelzle [:dbo] 2008-11-13 09:14:16 PST
Created attachment 347979 [details] [diff] [review]
patch - v1

This patch fixes:
- setting the organizer properly on overridden instances (event dialog)
- adds EXRULE as major prop for SEQUENCE bumps
- fixes item proxy creation/cloning
- fixes bug 463195, proper item re-initialization
- removes usage of js NS_ASSERT, since it blocks the app
- fixes providers to properly handle adding occurrences (gdata excluded, wcap untested, sorry)
- fixes occurrence handling in itip code
- misc minor stuff

Thanks go to Andreas for testing multiple iterations of this patch!
Comment 36 Philipp Kewisch [:Fallen] 2008-11-17 14:29:12 PST
Comment on attachment 347979 [details] [diff] [review]
patch - v1

> function calEvent() {
...
>+
>+    this.setProperty("CREATED", jsDateToDateTime(new Date()));
> }
Why does this need to be done in each constructor and not in initItemBase ?

>     getAttendees: function (countObj) {
>-        if (!this.mAttendees && this.mIsProxy && this.mParentItem) {
>-            this.mAttendees = this.mParentItem.getAttendees(countObj);
>-        }
So getting attendees on an occurrence won't return the paren't item's attendees? Make sure this is documented in the idl and doesn't have negative effect on the event dialog et al. The same goes for the other get* functions. This is also interesting for me with the alarms patch: should the same happen, i.e occurrence doesn't return alarms from parent?

>+++ b/calendar/test/unit/test_alarm.js
>@@ -354,17 +354,17 @@ function test_clone() {
>-                do_check_eq(alarm.item.getProperty("CREATED").icalString, newAlarm.item.getProperty("CREATED").icalString)
>+                do_check_eq(alarm.item.icalString, newAlarm.item.icalString)

?


r=philipp with comments considered.
Comment 37 Daniel Boelzle [:dbo] 2008-11-18 13:45:31 PST
(In reply to comment #36)
> (From update of attachment 347979 [details] [diff] [review])
> > function calEvent() {
> ...
> >+
> >+    this.setProperty("CREATED", jsDateToDateTime(new Date()));
> > }
> Why does this need to be done in each constructor and not in initItemBase ?

initItemBase() now also serves to (re-)init the object. There is no need to set a CREATED property in that phase, but only when creating new, empty items.

> >     getAttendees: function (countObj) {
> >-        if (!this.mAttendees && this.mIsProxy && this.mParentItem) {
> >-            this.mAttendees = this.mParentItem.getAttendees(countObj);
> >-        }
> So getting attendees on an occurrence won't return the paren't item's
> attendees? Make sure this is documented in the idl and doesn't have negative
> effect on the event dialog et al. The same goes for the other get* functions.
> This is also interesting for me with the alarms patch: should the same happen,
> i.e occurrence doesn't return alarms from parent?

The parent's arrays are now actually taken over when initializing the proxy; I've changed that code. But thinking again about it, it actually could cause trouble in case those are modified. I think I need to change that once more.

> >+++ b/calendar/test/unit/test_alarm.js
> >@@ -354,17 +354,17 @@ function test_clone() {
> >-                do_check_eq(alarm.item.getProperty("CREATED").icalString, newAlarm.item.getProperty("CREATED").icalString)
> >+                do_check_eq(alarm.item.icalString, newAlarm.item.icalString)
> 
> ?
I didn't get why you just tested the CREATED property instead of the whole item...
Comment 38 Daniel Boelzle [:dbo] 2008-11-18 13:51:32 PST
Created attachment 348834 [details] [diff] [review]
patch - v2

Sorry, I think the patch needs another round. I've changed the item cloning handling once more and will ask Andreas to spend another round of QA on it.
Please also have a look at getRelations; I changed the code to inherit relations from its parent. Hope that hasn't been added on purpose.
Finally, it fixes the current regression on using cal.itemIterator in calItipUtils.jsm, too.
Comment 39 Daniel Boelzle [:dbo] 2008-11-18 23:04:15 PST
Created attachment 348934 [details] [diff] [review]
patch - v2, debitrotted
Comment 40 Daniel Boelzle [:dbo] 2008-11-20 05:08:30 PST
Created attachment 349175 [details] [diff] [review]
patch - v3
Comment 41 Philipp Kewisch [:Fallen] 2008-11-24 03:05:21 PST
Comment on attachment 349175 [details] [diff] [review]
patch - v3

>+//         cal.LOG("stamp: " + dtstamp.getInTimezone(cal.UTC()).icalString);
Remove comment

>+    createProxy: function calEvent_createProxy(aRecurrenceId) {
>+        ASSERT(!this.mIsProxy, "Tried to create a proxy for an existing proxy!", true);
cal.ASSERT ?

>-        // xxx todo: Bug 463195 make sure object is properly reset
>+        this.mEndDate = undefined;
Why not = null ? I believe this really undefines it, i.e venkman will say its undefined when tracing errors/warnings.


>+        // xxx todo: the below two need proper cloning,
>+        //           calIAttachment::item, calIRelation::item are wrong
>+        m.mAttachments = this.getAttachments({});
>+        m.mRelations = this.getRelations({});
I believe doing this caused other problems, please see the bugs that introduced the concat([]) before checking in!


r=philipp with comments considered. Please also fix gdata, or at least file a bug to fix gdata!!
Comment 42 Daniel Boelzle [:dbo] 2008-11-24 03:43:36 PST
(In reply to comment #41)
> >-        // xxx todo: Bug 463195 make sure object is properly reset
> >+        this.mEndDate = undefined;
> Why not = null ? I believe this really undefines it, i.e venkman will say its
> undefined when tracing errors/warnings.
'undefined' serves as the late-init-only-once marker. In case endDate cannot be determined or someone explicitly sets it null, we won't run into the late-init code again.

> >+        // xxx todo: the below two need proper cloning,
> >+        //           calIAttachment::item, calIRelation::item are wrong
I've filed bug 466439 for this.

> >+        m.mAttachments = this.getAttachments({});
> >+        m.mRelations = this.getRelations({});
> I believe doing this caused other problems, please see the bugs that introduced
> the concat([]) before checking in!
I've had a look at the bustage fix of bug 446303, which seems to keep care to properly clone the array when cloning the calendar item. The above code calls getAttachments/getRelations which return cloned arrays.

> r=philipp with comments considered. Please also fix gdata, or at least file a
> bug to fix gdata!!
I've filed bug 466443 for this.


Pushed to comm-central <http://hg.mozilla.org/comm-central/rev/58c7c8816ed3>

-> FIXED
Comment 43 Daniel Boelzle [:dbo] 2009-04-30 00:49:18 PDT
*** Bug 477600 has been marked as a duplicate of this bug. ***
Comment 44 Philipp Kewisch [:Fallen] 2011-11-07 02:36:38 PST
These bugs are likely targeted at Lightning 1.0b1, not Lightning 1.0. If this change was done in error, please adjust the target milestone to its correct value. To filter on this bugspam, you can use "lightning-10-target-move".
Comment 45 Philipp Kewisch [:Fallen] 2011-11-07 03:55:18 PST
These bugs are likely targeted at Lightning 1.0b1, not Lightning 1.0. If this change was done in error, please adjust the target milestone to its correct value. To filter on this bugspam, you can use "lightning-10-target-move".

Note You need to log in before you can comment on or make changes to this bug.