cannot accept calendar invitation ("This message contains a sent out event that is not in your calendar anymore")

RESOLVED FIXED in 4.7

Status

defect
RESOLVED FIXED
4 years ago
3 years ago

People

(Reporter: martin.monperrus, Assigned: MakeMyDay)

Tracking

({regression})

Lightning 4.7
Dependency tree / graph

Details

Attachments

(1 attachment, 1 obsolete attachment)

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

Steps to reproduce:

I receive a calendar invitation


Actual results:

The Lightning status bar on top of the email says "This message contains a sent out event that is not in your calendar anymore"


Expected results:

There should be the buttons "accept" and "decline".

This seems to be a regression.
Component: Untriaged → E-mail based Scheduling (iTIP/iMIP)
Product: Thunderbird → Calendar
Version: 45 Branch → unspecified
What version of Lightning do you use?

Have you received an invitation before for that event and declined the event thereafter?

Did you receive the invitation from somebody else or did you send it yourself (from one of your addresses to another)?
Flags: needinfo?(martin.monperrus)
> What version of Lightning do you use?
Version=4.7a2
BuildID=20160122004009


> Have you received an invitation before for that event and declined the event thereafter?
No

> Did you receive the invitation from somebody else or did you send it yourself (from one of your addresses to another)?
Received from  somebody else

What does this message mean?
Flags: needinfo?(martin.monperrus)
Is the invitation email in your inbox or did you move them to another folder, especially the sent messages folder? What kind of folder view do you use in TB?

What other addons do you have installed?
Flags: needinfo?(martin.monperrus)
Version: unspecified → Lightning 4.7
> Is the invitation email in your inbox or did you move them to another folder, especially the sent messages folder? 
In Inbox

> What kind of folder view do you use in TB?
The standard one 

> What other addons do you have installed?
CompactHeader, CorrectIdentity, Dom inspector, Duplicate Contact Manager, Mail Merge, Quicktext, Search results sort by date, signa-spam, signature switch, Smiley fixer, super date format, unsbscribe from mailing lists, webdav for filelink

What does "This message contains a sent out event that is not in your calendar anymore" mean?
Flags: needinfo?(martin.monperrus)
The message is intented to be displayed when showing the copy of an invitation you once sent out to others but the referenced event is not in your calendar anymore.

What folder have you configured to store your sent messages in for the respective email account? Is this account of type imap or pop?

None of the listed addons is an obvious candidateto interfere here at a first glance, but can you please disable all addons but Lightning and see whether the issue persists? If not, please re-enable the other addons one by one to identify the one which is triggering the misbehaviour.
> Is this account of type imap or pop?
IMAP

> What folder have you configured to store your sent messages in for the respective email account? 
INBOX
> can you please disable all addons but Lightning and see whether the issue persists?
The issue persists.
Confirming, I can reproduce this when setting the inbox as sent folder.

The current implementation relies only on the folder flag, this must be more sophisticated to avoid the observed behaviour.
Assignee: nobody → makemyday
Blocks: ltn47
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Until this is fixed, you can workaround the issue by setting a different folder to be used to store sent messages or move the invitation to a different folder.
The workaround is fine, thanks!
This patch takes care. Unfortunately TB doesn't provide a message flag to determine whether a message is received or a copy of a sent message that could be used here.
Attachment #8714120 - Flags: review?(philipp)
Comment on attachment 8714120 [details] [diff] [review]
FixDetectionOfSentInvitations-V1.diff

This patch still needs an update, there some edge cases not yet captured. I'll prepare a new version.
Attachment #8714120 - Flags: review?(philipp)
Updated patch. The fix needs to land on cc, aurora, beta and esr45. I was also thinking about hiding the feature behind a pref for ers45 but pursued that.
Attachment #8714120 - Attachment is obsolete: true
Attachment #8729956 - Flags: review?(philipp)
Attachment #8729956 - Flags: approval-calendar-beta?(philipp)
Attachment #8729956 - Flags: approval-calendar-aurora?(philipp)
Comment on attachment 8729956 [details] [diff] [review]
FixDetectionOfSentInvitations-V2.diff

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

Drive-by comments ;-)

::: calendar/lightning/content/imip-bar.js
@@ +214,5 @@
> +                let am = MailServices.accounts;
> +                for (let identity in fixIterator(am.allIdentities,
> +                                                 Components.interfaces.nsIMsgIdentity)) {
> +                    if (!rv && author.includes(identity.email) && !identity.fccReplyFollowParent) {
> +                        rv = true;

Why don't you just return true here? Am I missing something? Or you can break and lose the !rv.

@@ +218,5 @@
> +                        rv = true;
> +                    }
> +                }
> +            }
> +            return rv;

If you return true above, you can just return false here and you don't need rv.
Keywords: regression
Comment on attachment 8729956 [details] [diff] [review]
FixDetectionOfSentInvitations-V2.diff

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

::: calendar/lightning/content/imip-bar.js
@@ +214,5 @@
> +                let am = MailServices.accounts;
> +                for (let identity in fixIterator(am.allIdentities,
> +                                                 Components.interfaces.nsIMsgIdentity)) {
> +                    if (!rv && author.includes(identity.email) && !identity.fccReplyFollowParent) {
> +                        rv = true;

a break would be good. The concept of using rv and only returning once is often favorable since it makes clearer how the control flow goes. In a simple function like this is doesn't matter though, up to you.
Attachment #8729956 - Flags: review?(philipp)
Attachment #8729956 - Flags: review+
Attachment #8729956 - Flags: approval-calendar-beta?(philipp)
Attachment #8729956 - Flags: approval-calendar-beta+
Attachment #8729956 - Flags: approval-calendar-aurora?(philipp)
Attachment #8729956 - Flags: approval-calendar-aurora+
Thank you for doing the checkins, but doesn't this need to also go to esr45 to be in 4.7?
Flags: needinfo?(philipp)
Depends on: 1272988
You need to log in before you can comment on or make changes to this bug.