View Issue Details

IDProjectCategoryView StatusLast Update
0006162SOGoWeb Calendarpublic2025-11-26 08:24
Reportersobyaninyd Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Product Version5.12.4 
Summary0006162: Creating a calendar event with recurrence according to RFC5545
Description

A weekly recurring event starts on Wednesday but repeats on Monday, Friday, and Saturday. In SOGo, the event is also added on the day it was created, even though that day does not match the recurrence rules.
According to RFC 5545, DTSTART must be synchronized with BYDAY in RRULE.
It is required that when an event is created on October 1 with recurrence on Mondays, Fridays, and Saturdays, DTSTART is automatically set to the nearest upcoming date that matches a value from BYDAY.

Example of current (incorrect) behavior:
The user creates an event with a start date of October 1 and sets weekly recurrence on Mondays, Fridays, and Saturdays.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Inverse inc./SOGo 5.11.0-rp31//EN
BEGIN:VEVENT
UID:test
SUMMARY:Test
DTSTART;TZID=Europe/Moscow:20251001T094500
DTEND;TZID=Europe/Moscow:20251001T144500
RRULE:FREQ=WEEKLY;BYDAY=MO,FR,SA;UNTIL=20251015T144500Z
END:VEVENT
END:VCALENDAR

There should be no event on Wednesday, but it is present.

Correct behavior should be as follows:
The user creates an event on October 1 and specifies the same recurrence as in the example above.
We look at BYDAY=MO,FR,SA, and the nearest matching date is Friday, October 3. We set DTSTART to 20251003T094500.

That is, the event will look as follows:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Inverse inc./SOGo 5.11.0-rp31//EN
BEGIN:VEVENT
UID:test2
SUMMARY:Test
DTSTART;TZID=Europe/Moscow:20251003T094500
DTEND;TZID=Europe/Moscow:20251003T144500
RRULE:FREQ=WEEKLY;BYDAY=MO,FR,SA;UNTIL=20251015T144500Z
END:VEVENT
END:VCALENDAR

In this case, the event and its recurrences will comply with the requirements of RFC 5545.

Steps To Reproduce

The user creates an event starting on October 1 and sets weekly recurrence on Mondays, Fridays, and Saturdays.
The event on Wednesday, October 1 does not match the recurrence rules and must not be created. The first occurrence should start on October 3.

TagsRFC5545

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2025-11-26 08:24 sobyaninyd New Issue
2025-11-26 08:24 sobyaninyd Tag Attached: RFC5545