Accept meeting invitation fails (has RECURRENCE-ID but no parent item)

RESOLVED FIXED in 1.0b1

Status

Calendar
E-mail based Scheduling (iTIP/iMIP)
RESOLVED FIXED
10 years ago
6 years ago

People

(Reporter: David, Assigned: dbo)

Tracking

unspecified
1.0b1
Dependency tree / graph
Bug Flags:
blocking-calendar1.0 +
wanted-calendar1.0 +

Details

Attachments

(4 attachments, 3 obsolete attachments)

(Reporter)

Description

10 years ago
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

10 years ago
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.
(Reporter)

Comment 2

10 years ago
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]

(Reporter)

Comment 3

10 years ago
I am using Lightning 0.5 for Thunderbird (build 2007062404)

Updated

10 years ago
Component: General → Lightning Only
QA Contact: general → lightning
Version: unspecified → Lightning 0.5

Comment 4

10 years ago
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

10 years ago
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

10 years ago
Can someone attach an (anonymized) message source, please?

Comment 7

10 years ago
Created attachment 283238 [details]
Anonymized test appointment invite

Comment 8

10 years ago
Attached one of my invites (anonymized)

Comment 9

10 years ago
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

10 years ago
I tried to add the invite through import, and nothing happens then either.  I will attach the anonymized invite below.

Comment 11

10 years ago
Created attachment 284473 [details]
Meeting request that will not add to lightning

Comment 12

10 years ago
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.



Status: UNCONFIRMED → NEW
Ever confirmed: true
Version: Lightning 0.5 → unspecified

Comment 13

10 years ago
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

10 years ago
(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

10 years ago
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

10 years ago
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

10 years ago
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

10 years ago
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

Updated

10 years ago
Duplicate of this bug: 403626

Updated

10 years ago
Summary: The accept button on a message containing an invitation does nothing. → Accept meeting invitation fails (has RECURRENCE-ID but no parent item)

Comment 20

10 years ago
I have upgraded to Lightning 0.7 and am reporting that I still have the same issue. The bug is not fixed.
(Assignee)

Updated

10 years ago
Flags: wanted-calendar0.8?
OS: Windows XP → All
Hardware: PC → All

Comment 21

10 years ago
I have the same problem after upgrading to 0.7 on linux and windows
jose

Updated

10 years ago
Duplicate of this bug: 404053
It would be good to have a solution for this in 0.8
Flags: wanted-calendar0.8? → wanted-calendar0.8+

Comment 24

10 years ago
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

10 years ago
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

10 years ago
(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

10 years ago
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. 
Not going to happen for 0.8.
Flags: wanted-calendar0.8+ → wanted-calendar0.8-

Updated

9 years ago
Component: Lightning Only → E-mail based Scheduling (iTIP/iMIP)
QA Contact: lightning → email-scheduling

Updated

9 years ago
Duplicate of this bug: 437363
(Assignee)

Comment 30

9 years ago
I think this is needed for a good iTIP/iMIP experience :)
Flags: wanted-calendar0.8- → wanted-calendar0.9+
(Assignee)

Updated

9 years ago
Blocks: 437982
(Assignee)

Updated

9 years ago
Flags: blocking-calendar0.9?

Updated

9 years ago
Whiteboard: [needs patch]
(Assignee)

Comment 31

9 years ago
Not going to happen for 0.9.
Flags: blocking-calendar0.9? → blocking-calendar0.9-
Whiteboard: [needs patch]

Comment 32

9 years ago
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

9 years ago
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

9 years ago
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.
(Assignee)

Updated

9 years ago
Depends on: 457203
(Assignee)

Updated

9 years ago
Flags: wanted-calendar1.0?
Flags: wanted-calendar0.9+
Flags: blocking-calendar1.0?
Flags: blocking-calendar0.9-
(Assignee)

Updated

9 years ago
Flags: wanted-calendar1.0? → wanted-calendar1.0+
(Assignee)

Updated

9 years ago
Blocks: 357399
Flags: blocking-calendar1.0? → blocking-calendar1.0+
(Assignee)

Comment 35

9 years ago
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!
Assignee: nobody → daniel.boelzle
Status: NEW → ASSIGNED
Attachment #347979 - Flags: review?(philipp)
(Assignee)

Updated

9 years ago
Blocks: 463195
(Assignee)

Updated

9 years ago
Blocks: 445483
(Assignee)

Updated

9 years ago
Blocks: 464705
(Assignee)

Updated

9 years ago
Blocks: 423861
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.
Attachment #347979 - Flags: review?(philipp) → review+
(Assignee)

Comment 37

9 years ago
(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...
(Assignee)

Comment 38

9 years ago
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.
Attachment #347979 - Attachment is obsolete: true
Attachment #348834 - Flags: review?(philipp)
(Assignee)

Comment 39

9 years ago
Created attachment 348934 [details] [diff] [review]
patch - v2, debitrotted
Attachment #348834 - Attachment is obsolete: true
Attachment #348934 - Flags: review?(philipp)
Attachment #348834 - Flags: review?(philipp)
(Assignee)

Comment 40

9 years ago
Created attachment 349175 [details] [diff] [review]
patch - v3
Attachment #348934 - Attachment is obsolete: true
Attachment #349175 - Flags: review?(philipp)
Attachment #348934 - Flags: review?(philipp)
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!!
Attachment #349175 - Flags: review?(philipp) → review+
(Assignee)

Comment 42

9 years ago
(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
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.0
(Assignee)

Updated

8 years ago
Duplicate of this bug: 477600
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".
Target Milestone: 1.0 → 1.0b1
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".
You need to log in before you can comment on or make changes to this bug.