iTIP: Include event details in REPLY messages (fixes #2102)

This commit is contained in:
mdecimus 2025-09-08 09:41:28 +02:00
parent e13916663d
commit 68d02a6df7
5 changed files with 25 additions and 2 deletions

View file

@ -318,6 +318,23 @@ pub(crate) fn attendee_decline<'x>(
cancel_comp.add_uid(itip.uid);
cancel_comp.add_dtstamp(dt_stamp.clone());
cancel_comp.add_sequence(comp.sequence.unwrap_or_default());
cancel_comp.entries.extend(
component
.entries
.iter()
.filter(|e| {
matches!(
e.name,
ICalendarProperty::Dtstart
| ICalendarProperty::Dtend
| ICalendarProperty::Duration
| ICalendarProperty::Due
| ICalendarProperty::Description
| ICalendarProperty::Summary
)
})
.cloned(),
);
if let InstanceId::Recurrence(recurrence_id) = instance_id {
cancel_comp

View file

@ -148,6 +148,7 @@ pub(crate) fn build_cancel_component(
| ICalendarProperty::Summary
| ICalendarProperty::Dtstart
| ICalendarProperty::Dtend
| ICalendarProperty::Duration
| ICalendarProperty::Due
| ICalendarProperty::RecurrenceId
| ICalendarProperty::Created

View file

@ -4,6 +4,7 @@
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
*/
use crate::scheduling::{ArchivedItipSummary, ItipMessage, ItipMessages};
use calcard::{
common::PartialDateTime,
icalendar::{
@ -18,8 +19,6 @@ use store::{
};
use trc::AddContext;
use crate::scheduling::{ArchivedItipSummary, ItipMessage, ItipMessages};
pub(crate) fn itip_build_envelope(method: ICalendarMethod) -> ICalendarComponent {
ICalendarComponent {
component_type: ICalendarComponentType::VCalendar,

View file

@ -856,6 +856,9 @@ METHOD:REPLY
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
VERSION:2.0
BEGIN:VEVENT
SUMMARY:Review Accounts
DTEND:19980303T220000Z
DTSTART:19980303T210000Z
ATTENDEE;PARTSTAT=DECLINED:mailto:b@example.com
ORGANIZER:mailto:a@example.com
UID:123456789@example.com

View file

@ -340,6 +340,9 @@ METHOD:REPLY
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
VERSION:2.0
BEGIN:VEVENT
SUMMARY:Review Internet-Draft
DTEND;TZID=America/Montreal:20090601T160000
DTSTART;TZID=America/Montreal:20090601T150000
ATTENDEE;PARTSTAT=DECLINED:mailto:bernard@example.net
ORGANIZER:mailto:cyrus@example.com
RECURRENCE-ID;TZID=America/Montreal:20090603T150000