Missing 'Accept/Decline/Tentative' button for event invites since v2.6 [Error: "foundAttendee is null" in calItipUtils.jsm]

RESOLVED FIXED in 2.6.5

Status

Calendar
E-mail based Scheduling (iTIP/iMIP)
RESOLVED FIXED
4 years ago
2 years ago

People

(Reporter: Will Sheppard, Assigned: Sven Giermann)

Tracking

Lightning 2.6
2.6.5

Details

Attachments

(2 attachments, 1 obsolete attachment)

(Reporter)

Description

4 years ago
Created attachment 817759 [details]
Screenshot from 2013-10-16 11:17:05 fixed.png

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/28.0.1500.71 Chrome/28.0.1500.71 Safari/537.36

Steps to reproduce:

View an email that has an invite attached.

I'm not sure what all the different formats of invite are, but these have been working fine in our office for years. One type definitely not working are sent by Outlook 14.0.7103.5003 for Windows.



Actual results:

There are no "Accept/Decline/Tentative" buttons, only a blank space where they used to be.

For different invites the text says either "This message contains an invitation to an event." or "This message contains an event that this version of Lightning cannot process".

The "Details" or "Delete" buttons are also missing from many old invite emails. The text for those says "This message contains an event which has already been processed (Details...)" or "This message contains an event cancellation (Delete)".

There are at least 4 states of event email recognised by Lightning, see messages above. In summary:
* cancellation (correctly displays Delete button)
* processed (correctly displays Details... button)
* invite (Missing Accept/Decline/Tentative buttons)
* invite that Lightning cannot process (Missing Accept/Decline/Tentative buttons)

Just look at the recent reviews for this plugin to see that a lot of other people are having similar problems: https://addons.mozilla.org/en-US/thunderbird/addon/lightning/


Expected results:

Emails that are recognised as "This message contains an invitation to an event" should have Accept/Decline/Tentative buttons to allow me to add it to my calendar.

No emails should be marked as "This message contains an event that this version of Lightning cannot process".

Comment 1

4 years ago
Do you get any calendar related error messages in Tools > Error Console?
Component: General → E-mail based Scheduling (iTIP/iMIP)
(Reporter)

Comment 2

4 years ago
Yes I do:

[JavaScript Error: "[Exception... "'[JavaScript Error: "foundAttendee is null" {file: "resource://calendar/modules/calItipUtils.jsm" line: 1209}]' when calling method: [calIOperationListener::onOperationComplete]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: file:///home/[username]/.thunderbird/axhtibx7.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calCompositeCalendar.js :: calCompositeGetListenerHelper.prototype.onOperationComplete :: line 520"  data: yes]"]
(Reporter)

Comment 3

4 years ago
Oh, and this too:

Timestamp: 16/10/13 12:06:14
Error: foundAttendee is null
Source File: resource://calendar/modules/calItipUtils.jsm
Line: 1209

Updated

4 years ago
Summary: Missing 'Accept/Decline/Tentative' button for event invites since v2.6 → Missing 'Accept/Decline/Tentative' button for event invites since v2.6 [Error: "foundAttendee is null" in calItipUtils.jsm]
(Reporter)

Comment 4

4 years ago
The problem does not occur with all invites.

One sent from Outlook on Mac still works okay.
(Reporter)

Comment 5

4 years ago
I received an invite from Outlook 14.0.7106.5001 and it worked fine.

But an invite sent from Outlook 14.0.7103.5003 triggered the bug and did not work.

Of course there may be other differences between the two invites, apart from the version of Outlook.
(Assignee)

Comment 6

4 years ago
This error always occurs, when the event already exist in any calendar but the attendee list of this invitation does not include the specified mail address of this calendar.

STR:
- setup at least 2 identities in TB (first@foo.com, second@foo.com)
- be sure to be able to send mail from first to second
- setup a local calendar (to avoid external changes of the event) with mail address first@foo.com
- create an event in this calendar and invite second@foo.com
- wait for the invitation mail from first to second

Result:
- Text "This mail contains an invitation"
- NO accept/decline buttons will be displayed

Expected:
- display accept/decline or at least the info "This event has already been processed".

Since we couldn't get any information of the intended attendee of an invitation, we seem to only be able to fall back to the organizer of the calendar. In this case these both do not match, but it might be the only chance to treat it as if we got the invitation as the organizer (first) instead of the attendee (second).
This gets much clearer, if you add another attendee (third@foo.com), which might be your collegue.
In the invitation mail there will be no difference between second and third, so we could just _believe_ that "we" are in fact "first@foo.com".
(Assignee)

Updated

4 years ago
Assignee: nobody → giermann
(Reporter)

Comment 7

4 years ago
The original problem reported here was for *all* event emails. The work-around was to roll back to Thunderbird 24.0 and Lightning 2.6, which I'm still running today. Since then almost all events work okay, but *some* events still don't have buttons, as Sven describes.
(Reporter)

Comment 8

4 years ago
Sorry, original problem was for *almost all* events, now it's only for a few.
(Assignee)

Comment 9

4 years ago
Created attachment 8343060 [details] [diff] [review]
bug927346_patch1.diff

WIP patch to at least avoid the JS error in error console.
Until now I'm not totally satisfied with the behaviour, since it asks to add the event to a calendar, if you accept an invitation where the above mentioned issue occured.
But in fact, it doesn't seem to create a new event in the selected calendar, but updates the existing instead. So I'm trying to avoid the calendar selection somehow...
(Assignee)

Comment 10

4 years ago
Created attachment 8343632 [details] [diff] [review]
bug927346_final.patch

The outstanding issue seems to be more complicated, and is not directly influenced by this patch. I'll file another bug for this later...
Added a comment here, error is fixed and seems to be working as it was before bug 827279 and bug 927346, leaving their improvements in place.
Attachment #8343060 - Attachment is obsolete: true
Attachment #8343632 - Flags: review?(philipp)
(Assignee)

Updated

4 years ago
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Comment on attachment 8343632 [details] [diff] [review]
bug927346_final.patch

r=philipp. Given the Thunderbird builds are starting it might be too late for 2.6.4, unless I put this in manually after the build. Can we live without this fix for another 6 weeks?
Attachment #8343632 - Flags: review?(philipp)
Attachment #8343632 - Flags: review+
Attachment #8343632 - Flags: approval-calendar-release+
Attachment #8343632 - Flags: approval-calendar-beta+
Attachment #8343632 - Flags: approval-calendar-aurora+
(Assignee)

Comment 12

4 years ago
The actual error seems to exist since bug 827279 (Lightning 2.4), so I'd agree to don't have it in ltn264.

Comment 13

4 years ago
Comment on attachment 8343632 [details] [diff] [review]
bug927346_final.patch

i've applied the patch to the calItipUtils.jsm file and find that, yes, I now have the buttons but that the event, when accepted, does not get added to my calendar.  Synchronizing does nothing to fix this.  In addition, I selected accept once, checked my calendar only to see nothing there, went back to the email and saw that the buttons were still there, clicked accept a 2nd time, the email displayed " This message contains an event that has already been processed. ", but still nothing in the calendar.  My console log shows the following:

_createTempImipFile path: /Users/kevinm/Library/Caches/TemporaryItems/itipTemp
iTIP on REQUEST: found 1 items.
iTIP operations: 1
iTIP options on: REQUEST:NEEDS-ACTION
Timestamp: 12/10/13 1:40:00 PM
Error: 2013-12-10 13:40:00	gloda.datastore	ERROR	got error in _asyncTrackerListener.handleError(): 19: constraint failed

Source File: resource:///modules/gloda/log4moz.js
Line: 688
2013-12-10 13:40:00	gloda.datastore	ERROR	got error in _asyncTrackerListener.handleError(): 19: constraint failed
Timestamp: 12/10/13 1:40:01 PM
Error: 2013-12-10 13:40:01	gloda.datastore	ERROR	got error in _asyncTrackerListener.handleError(): 19: constraint failed

Source File: resource:///modules/gloda/log4moz.js
Line: 688
2013-12-10 13:40:01	gloda.datastore	ERROR	got error in _asyncTrackerListener.handleError(): 19: constraint failed
(Assignee)

Comment 14

4 years ago
Can you tell us, which calender provider you use, please?
Did you create the event in some other calendar you are subscribed to? This really sounds like the issue described in Comment 9.

Comment 15

4 years ago
my user email is a xonasoftware.com email address and the calendar is local to the box (not a gmail calendar).  And it does sound like comment 9 except that there is no existing event to update so it *needs* to be a new event added to the calendar.

Comment 16

4 years ago
I'm not sure if this answered the calendar provider question...
(Reporter)

Comment 17

4 years ago
This is still a problem after two months!
Missing 'Accept' button on invites.

Is this bug reported in the correct place for Lightning devs to fix it?

Still an issue in:
Thunderbird 24.2.0
Lightning 2.6.4

It means Thunderbird and Lightning calendar are not fit for purpose anymore.
I am seriously considering switching to Microsoft Outlook on a VM. :(
Flags: needinfo?
(Assignee)

Comment 18

4 years ago
@Will, looking at other bugs in many different OSS projects, 2 months is quite a short time.
Feel free to apply my proposed patch, which solves the problem! Otherwise I could promise, it will be included in Lightning 2.6.5.

@Kevin, I tried finding the source of your problem, but could not reproduce it.
Yes, "local" answered the calendar provider question, but everything's working fine for me. As it is different problem than reported on top, I would kindly ask you to file another bug for that!
Flags: needinfo?
(Reporter)

Comment 19

4 years ago
@Sven I can confirm that the attached "bug927346_final.patch" works, thank you!

I hadn't realised I could apply it myself.


Applied to $HOME/.thunderbird/axhtibx7.default/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calItipUtils.jsm

Comment 20

4 years ago
(In reply to Sven Giermann from comment #18)
> Otherwise I
> could promise, it will be included in Lightning 2.6.5.

So, this can be considered fixed? The status still says ASSIGNED...

Is there an ETA  for 2.6.5?

Comment 21

4 years ago
NOT FIXED!!!  Yes, it puts back the buttons (sometimes) but THEY DON'T NECESSARILY WORK!  Accepting a new request DOES NOT put the request in my calendar, nor can I cancel an existing request when I get a cancellation notice.

Comment 22

4 years ago
(In reply to Kevin Martin from comment #21)
> NOT FIXED!!!  Yes, it puts back the buttons (sometimes) but THEY DON'T
> NECESSARILY WORK!  Accepting a new request DOES NOT put the request in my
> calendar, nor can I cancel an existing request when I get a cancellation
> notice.

You don't need to shout, we can hear you perfectly fine...

The scope of this bug is getting the missing buttons back (says so in the title). The other problems you describe should be reported and tracked in their own dedicated tickets.

P.s. I'm also seeing the other bugs you mentioned on my Win7 installation.

Comment 23

4 years ago
Sorry, got a little excited there.  Like I said, most of the time the buttons are back but not always.  For example, I got a cancellation notification and the buttons didn't show up.
Pushed to comm-central changeset d8a1ad7cadc2
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 3.2
Backported to releases/comm-aurora changeset 57e0bbb9e934
Target Milestone: 3.2 → 3.1
Backported to releases/comm-beta changeset d0209127ef8e
Target Milestone: 3.1 → 3.0
Backported to releases/comm-esr24 changeset 204bf5a345a2
Target Milestone: 3.0 → 2.6.5

Comment 28

4 years ago
I'm still seeing this bug with the latest Thunderbird (24.5.0) and Lightning (2.6.4) on Windows 7.

This fairly much kills all use of the addon for me and I'll be forced to use Outlook :-(
(In reply to Ian Jeffray from comment #28)
> I'm still seeing this bug with the latest Thunderbird (24.5.0) and Lightning
> (2.6.4) on Windows 7.
> 
> This fairly much kills all use of the addon for me and I'll be forced to use
> Outlook :-(

This will be fixed with next Lightning release (2.6.5, which is also visible in the "Target Milestone" field of this bug report).

Comment 30

4 years ago
this is still not working and shows the same error message under Mac OS X TB-24.5.0 with Lightning-2.6.5

Comment 31

4 years ago
(In reply to Andreas Ott from comment #30)
> this is still not working ... with Lightning-2.6.5

I can confirm that. It works the first time after starting TB but once an invitation was accepted the buttons are missing for all further invitations.

Sidenote: I read somewhere that the buttons might also not be showing if none of your local/remote calendars are currently active|online|reachable. Not sure this is entirely true.

Comment 32

4 years ago
I can confirm it is NOT working on:
TB 24.5.0 with Lightning 2.6.5 (on xubuntu linux amd64)

Comment 33

3 years ago
Confirming that this still isn't working on Thunderbird 31, Lightning 3.3.  I was planning to reopen the ticket by changing the status (given all of our NAKs here), but I don't have permission to do that.
I'd suggest opening a new bug and linking it here. A patch was committed and this bug already has a lot of comments. Please also check if you are getting the same error message. When opening a new bug, please comment on that bug with your error message from the error console.
I also get the same issue in Thunderbird 31.0 with Lightning 3.3

Comment 36

3 years ago
I can also confirm this bug on Thunderbird 31 with Lightning 3.3. The error console gives me the following when showing an invite (presumably) sent from Outlook:

[ERROR] Timestamp: 2014-08-08 10:15:11
Error: data[("button" + i)] is undefined
Source File: resource://conversations/modules/plugins/lightning.js
Line: 108

[ERROR] Timestamp: 2014-08-08 10:15:11
Error: NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "data[("button" + i)] is undefined" {file: "resource://conversations/modules/plugins/lightning.js" line: 108}]'[JavaScript Error: "data[("button" + i)] is undefined" {file: "resource://conversations/modules/plugins/lightning.js" line: 108}]' when calling method: [calIOperationListener::onOperationComplete]
Source File: file:///usr/lib/thunderbird/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calCompositeCalendar.js
Line: 520


[INFO] [JavaScript Error: "[Exception... "[JavaScript Error: "data[("button" + i)] is undefined" {file: "resource://conversations/modules/plugins/lightning.js" line: 108}]'[JavaScript Error: "data[("button" + i)] is undefined" {file: "resource://conversations/modules/plugins/lightning.js" line: 108}]' when calling method: [calIOperationListener::onOperationComplete]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: file:///usr/lib/thunderbird/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calCompositeCalendar.js :: calCompositeGetListenerHelper.prototype.onOperationComplete :: line 520"  data: yes]"]
Please read comment 34 again. The conversations issue is mentioned at the bottom of https://blog.mozilla.org/calendar/2014/07/lightning-3-3-is-out-the-door/
You need to log in before you can comment on or make changes to this bug.