[GH-ISSUE #46] wrong determination of monthly recurrence rule #513

Closed
opened 2026-03-01 17:39:30 +03:00 by kerem · 3 comments
Owner

Originally created by @aluxnimm on GitHub (Jul 14, 2015).
Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/46

Originally assigned to: @aluxnimm on GitHub.

The following recurrence rule generates wrong incidence when synced from server to client by CalDavSynchronizer:

RRULE:FREQ=MONTHLY;BYSETPOS=4;BYDAY=MO

The recurrence pattern which is produced in Outlook shows the last Monday of the month, not the 4th.

The last Monday would be:

RRULE:FREQ=MONTHLY;BYDAY=-1MO

Steps to reproduce:

  1. Create an event on Monday which repeats every 4th Monday of the month on the server.
  2. Sync it to Oulook.
  3. Go to the monthly view of November in Outlook. You will see that the recurring event takes place at 2015-11-30, which is the 5th Monday of November. The date should be 2015-11-23, which is the 4th Monday.

Original comment by: mawinkler

Original Ticket: outlookcaldavsynchronizer/46

Originally created by @aluxnimm on GitHub (Jul 14, 2015). Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/46 Originally assigned to: @aluxnimm on GitHub. The following recurrence rule generates wrong incidence when synced from server to client by CalDavSynchronizer: RRULE:FREQ=MONTHLY;BYSETPOS=4;BYDAY=MO The recurrence pattern which is produced in Outlook shows the last Monday of the month, not the 4th. The last Monday would be: RRULE:FREQ=MONTHLY;BYDAY=-1MO Steps to reproduce: 1. Create an event on Monday which repeats every 4th Monday of the month on the server. 2. Sync it to Oulook. 3. Go to the monthly view of November in Outlook. You will see that the recurring event takes place at 2015-11-30, which is the 5th Monday of November. The date should be 2015-11-23, which is the 4th Monday. Original comment by: mawinkler Original Ticket: [outlookcaldavsynchronizer/46](https://sourceforge.net/p/outlookcaldavsynchronizer/46)
kerem 2026-03-01 17:39:30 +03:00
Author
Owner

@aluxnimm commented on GitHub (Jul 14, 2015):

Further information: The whole thing works if you use Sogo as server.

Sogo produces the following rule:

RRULE:FREQ=MONTHLY;BYDAY=4MO

whereas GroupOffice creates this one:

RRULE:FREQ=MONTHLY;BYSETPOS=4;BYDAY=MO

I think both are valid.

Original comment by: mawinkler

<!-- gh-comment-id:126313138 --> @aluxnimm commented on GitHub (Jul 14, 2015): Further information: The whole thing works if you use Sogo as server. Sogo produces the following rule: RRULE:FREQ=MONTHLY;BYDAY=4MO whereas GroupOffice creates this one: RRULE:FREQ=MONTHLY;BYSETPOS=4;BYDAY=MO I think both are valid. Original comment by: mawinkler
Author
Owner

@aluxnimm commented on GitHub (Jul 14, 2015):

Since SOGo doesn't use that, I didn't implement it. Will be fixed in next commits.

Original comment by: aluxnimm

<!-- gh-comment-id:126313139 --> @aluxnimm commented on GitHub (Jul 14, 2015): Since SOGo doesn't use that, I didn't implement it. Will be fixed in next commits. Original comment by: aluxnimm
Author
Owner

@aluxnimm commented on GitHub (Jul 14, 2015):

  • status: open --> closed
  • assigned_to: Alexander Nimmervoll

Original comment by: aluxnimm

<!-- gh-comment-id:126313140 --> @aluxnimm commented on GitHub (Jul 14, 2015): - **status**: open --> closed - **assigned_to**: Alexander Nimmervoll Original comment by: aluxnimm
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/outlookcaldavsynchronizer#513
No description provided.