jkbrzt / rrule

JavaScript library for working with recurrence rules for calendar dates as defined in the iCalendar RFC and more.
https://jkbrzt.github.io/rrule
Other
3.27k stars 507 forks source link

Rrules with DTSTART only (no RRULE), are being repeated yearly #558

Open asierraq opened 1 year ago

asierraq commented 1 year ago

Rrules with DTSTART only, are being repeated yearly automatically:

const rrule = rrulestr("DTSTART:20220831T070000Z");
const events = rrule.between(new Date('2023-07-30T05:00:00.000Z'), new Date('2023-09-02T05:00:00.000Z'));

Expected output

events array should be empty (according to the VEVENT section of https://www.rfc-editor.org/rfc/rfc5545), because the rule is referencing an event that happens in 2022, and the between dates years are both 2023.

Actual output

events array have an event with this date "2023-08-31T07:00:00Z", and this is wrong.

Rrule version

2.7.1

zhen0 commented 1 year ago

We are seeing something similar where 'RDATE:20221020T204000Z,20221020T230000Z' is parsed as 'Every year'.

vdytyniak-exos commented 1 year ago

Looks like some fix was released, but it breaks the UI at little bit.

image

My RRule is super long, so I have to scroll a lot to see other attributes and tags are just replace with +n:

image
CompositeCoding commented 1 year ago

Is a fix for this deployed yet?