nextcloud/calendar

Recurring event - "invitation updated" email describes incorrect logic for next event

Closed this issue · 2 comments

Observation:

For a recurring event (i.e. When: Every Month on the Third Wednesday between 4:00 PM - 5:00 PM), when the most recent event has been modified (i.e. cancelled instead of occurring today), the "Invitation update:" email to participants contains a confusing description/logic of the event's time/date: Occurring: In 11 months on November 20, 2024 then on December 18, 2024 and January 15, 2025.

Image

Facts:

  • description of event: Occurring: In 11 months on November 20, 2024 then on December 18, 2024 and January 15, 2025
  • today's date: Nov 20, 2024
  • date of "Invitation updated" email: Nov 20, 2024
  • recurring event's next occurrence: Nov 20, 2024 (i.e. happening later today, but cancelled before the event)
  • status of next/today's event: cancelled (which sparked the update email)

Date of "Invitation updated:" email is Nov 20, 2024, therefore the invitation suggests that the event occurring for today is actually occurring in 11 months? today != in 11 months!

Therefore, the description of how this event was updated isn't helpful.

Steps to reproduce

Has not been reproduced, so steps here are theoretical/presumed/hypothesis:

  1. Create a recurring event between two participants i.e. "Every Month on the Third Wednesday between 4:00 PM - 5:00 PM"
  2. Cancel the next recurring event.
  3. "Invitation updated" email is automatically sent to participants describing the event change.

Expected behavior

Expecting the "Invitation updated" email to describe time accurately

i.e. next event time should be described in relation to "now"

or: described the next event in absolute time only if relative time (in x days) is problematic.

Actual behaviour

  • Event is described as in the future with incorrect logic: Occurring: in 11 months / on November 20, 2024 Problem: today is Nov 20, 2024.

11 months ago may be when the series of recurring events was created.

  • Next event described as November 20, 2024 despite that event being cancelled. The November 20th event is the recurring event that has been cancelled, but "Invitation update:" email described it as the next event.

Calendar app version

unknown

CalDAV-clients used

No response

Browser

Firefox 132.0.2

Client operating system

Linux / NixOS

Server operating system

unknown

Web server

None

Database engine version

None

PHP engine version

None

Nextcloud version

30.0.2

Updated from an older installed version or fresh install

None

List of activated apps


Nextcloud configuration


Web server error log


Log file


Browser log


Additional info

redacted event.ics attachment in email:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Sabre//Sabre VObject 4.5.4//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:America/New_York
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20240718T185607Z
LAST-MODIFIED:20241120T193715Z
SEQUENCE:4
UID:00ab655d-5c01-45da-8b60-45487ea259b7
DTSTART;TZID=America/New_York:20240814T160000
DTEND;TZID=America/New_York:20240814T170000
STATUS:CONFIRMED
SUMMARY:[REDACTED]
RRULE:FREQ=MONTHLY;BYDAY=WE;BYSETPOS=3
ATTENDEE;CN=[REDACTED] ;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;ROLE=REQ-PART
 ICIPANT;LANGUAGE=en:mailto:[REDACTED]
ORGANIZER;CN=[REDACTED]:mailto:[REDACTED]
LOCATION:https://[REDACTED].com/call/343758xxxx
EXDATE;TZID=America/New_York:20240918T160000
EXDATE;TZID=America/New_York:20241120T160000
DTSTAMP:20241120T193713Z
END:VEVENT
END:VCALENDAR

Hi @gerbrent

Thanks for posting the issue. You are correct the time delta should be from the moment the event is changed. I just checked the code, this is how it functions.

I will have a look in more detail later to see why this happened for your event.

Hi @gerbrent,

This has already been fixed. You'll see the fix on the next release.

nextcloud/server#48833