Updating event doesn't always send notification to attendees
Categories
(Calendar :: E-mail based Scheduling (iTIP/iMIP), defect)
Tracking
(thunderbird_esr128 affected, thunderbird131 affected)
People
(Reporter: merome, Assigned: gumara-dev)
References
Details
Attachments
(1 file)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Steps to reproduce:
- Create an event and add an attendee, save & send
- Modify the description of the event, save & send
- Add an attendee to the event , save & send
- Modify the Location fields, save & send
Client side scheduling is on.
Offline mode is off.
Actual results:
- Create an event and add an attendee => invitation is sent to the attendee OK
- Modify the description of the event => notification not sent to the attendee not OK
- Add an attendee to the event => he never receives a notification not OK
- Modify the Location fields => All attendees receive a notification OK
Expected results:
- Create an event and add an attendee => invitation is sent to the attendee
- Modify the description of the event => notification is sent to attendee
- Add an attendee to the event => All attendee receive a notification update
- Modify the Location fields => All attendees receive a notification
Comment 1•8 months ago
|
||
Which exact version are you using?
115.7.0 (64 bits) / Debian
But tested with older version (115.?) / Windows as well.
Comment 3•8 months ago
|
||
This has also affected me (and others I work with).
115.7.0 on Windows 10.
Comment 4•8 months ago
|
||
Seems I can reproduce #3. #2 works for me.
I've re-tested exhaustively , with TB 115.6 / Xubuntu
- Sending invitation to Google account => notification sent
- Modifying event title => no notification sent
- Modifying event description => no notification sent
- Adding attendee => no notification sent (neither to the newly added attendee, nor to the first attendee)
- Deleting attendee => notification sent to the deleted attendee only (calendar.itip.updateInvitationForNewAttendeesOnly is set to false)
- Modifying event category => no notification sent
- Modifying event reminder/alarm => no notification sent
- Modifying event priority => no notification sent
- Modifying event privacy => no notification sent
- Modifying event availability => no notification sent
- Adding attachment link => notifications sent to all participants
- Modifying event status (confirmed, cancelled...) => notifications sent to all participants
- Modifying event recurring options => notifications sent to all participants
- Modifying event location => notifications sent to all participants
- Modifying event date and/or hour => notifications sent to all participants
- Deleting event => notifications sent to all participants
I suppose the relevant code is here (calendar/itip/CalItipMessageSender.jsm) :
// Check to see if some part of the item was updated, if so, re-send REQUEST
if (!originalItem || cal.itip.compare(item, originalItem) > 0) {
// REQUEST
// check whether it's a simple UPDATE (no SEQUENCE change) or real (RE)REQUEST,
// in case of time or location/description change.
const isMinorUpdate =
originalItem && cal.itip.getSequence(item) == cal.itip.getSequence(originalItem);
if (
!isMinorUpdate ||
!cal.item.compareContent(stripUserData(item), stripUserData(originalItem))
) {
const requestItem = item.clone();
if (!requestItem.organizer) {
requestItem.organizer = cal.itip.createOrganizer(requestItem.calendar);
}
Maybe cal.itip.compare() function returns no apparent modification
Or the compareContent() function in calendar/base/modules/utils/calItemUtils.sys.mjs is bugged ?
(I can't go further in this investigation, not having a sufficient knowledge for that sorry)
Comment 7•6 months ago
|
||
I first noticed this occurring in TB v. 115.10.0 (64-bit) under openSUSE Leap 15.5. The RPM package source is openSUSE's "mozilla" repository. It continues under TB 115.10.1 (64-bit), again from the same source. I got exactly the same behavior as reported by Merome in his first post, but have not done all the testing he details in his post #5.
Assignee | ||
Comment 8•6 months ago
|
||
Tested with last changes comm-central changeset 41381. 2024/04/20
2, 3, 4, 5, 8, 9, 10 still buggy.
- ok
- Changing title => no email sent
- Changing description => no email sent
- Adding attendee - => no notification sent (neither to the newly added attendee, nor to the first attendee)
- Deleting attendee => no notification sent to the deleted attendee only
- Modifying event category => no email sent (seem's okay for me - its only for me)
- Modifying event reminder/alarm => no email sent (seem's okay for me - its only for me)
- Modifying event priority => no email sent
- Modifying event privacy => no email sent
- Modifying event availability => no email sent
- ok
- ok
- ok
- ok
- ok
- ok
I have found a workaround for 3, 4 and 8, 9, 10:
First remove the email address of the creator from the invite list and then add the others.
Assignee | ||
Comment 9•6 months ago
|
||
(In reply to Stephan Raab [:gumara-dev] from comment #8)
Tested with last changes comm-central changeset 41381. 2024/04/20
2, 3, 4, 5, 8, 9, 10 still buggy.
- ok
- Changing title => no email sent
- Changing description => no email sent
- Adding attendee - => no notification sent (neither to the newly added attendee, nor to the first attendee)
- Deleting attendee => no notification sent to the deleted attendee only
- Modifying event category => no email sent (seem's okay for me - its only for me)
- Modifying event reminder/alarm => no email sent (seem's okay for me - its only for me)
- Modifying event priority => no email sent
- Modifying event privacy => no email sent
- Modifying event availability => no email sent
- ok
- ok
- ok
- ok
- ok
- ok
I have found a workaround for 3, 4 and 8, 9, 10:
First remove the email address of the creator from the invite list and then add the others.
I made a small mistake all bugs are fixed with that workaround :)
I have found a workaround for 2, 3, 4, 5 and 8, 9, 10:
First remove the email address of the creator from the invite list and then add the others.
Reporter | ||
Comment 10•6 months ago
|
||
There is a simplest workaround : always modify the location, by adding an invisible space at the end of the actual location for example.
Assignee | ||
Comment 11•6 months ago
|
||
if (!originalItem || cal.itip.compare(item, originalItem) > 0) {
I have found out that the "DTSTAMP" is not set in the originalItem and the dirty flag is true.
If the calendar owner is not in the attendee list, the "DTSTAMP" is present and all its good.
At the moment I have no idea, how to find the bug...I will try later.
Assignee | ||
Comment 12•6 months ago
|
||
If the attendee list contains the organizer of the event, the event is incorrectly recognized as an unanswered event and the event is updated before it is processed. This sets the dirty flag for the oldItem. When stampTime is checked, the timestamp is set to the same value so that no difference is recognized.
To correct this error, a check is now made beforehand to ensure that the calendar organizer is not also the organizer of this event.
Updated•6 months ago
|
Comment 13•6 months ago
|
||
Stephan, THANK YOU! Quite the detective work. I look forward to the fix. Until then, I will do as Merome suggests in comment 10.
Reporter | ||
Comment 14•5 months ago
|
||
Now we know that it's the organizer in attendee list which causes the problem (thanks to Stefan), it's safer to remove the organizer from the attendee list (if you can) when you want to send updates to all attendees on further modifications.
I have a weird case where modifying the location isn't enough to throw the update.
Reporter | ||
Comment 15•2 months ago
|
||
Tested with TB 128, the problem is still there.
The trick (removing organizer from attendees) works but you have to do that (remove the organizer), save the event, then all future modification will be sent to attendees. If you remove the organizer AND make a modification (title, description...), this modification will not be sent.
Updated•13 days ago
|
Comment 16•12 days ago
|
||
Pushed by toby@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/7fd91488c455
Fix Updating event doesn't always send notification to attendees r=mkmelin
Description
•