-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
recur_expansion: EXDATE can be DATE and DTSTART can be DATE-TIME #670
base: main
Are you sure you want to change the base?
Conversation
3655794
to
be9214c
Compare
Pull Request Test Coverage Report for Build 9821264905Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the patch! I'm going to need a few tests for this one, would appreciate if you could add them.
if (!a.isDate && b.isDate) | ||
return new Time({ year: a.year, month: a.month, day: a.day }).compare(b); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also strips out the timezone, which might affect the comparison. Can you add zone handling here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A test or two around this case and zone handling would also be useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added a test.
I am not going to add time zone handling, as I do not understand how it would work. This patch fixes a problem I faced in 2022. I do not work with iCalendar in JavaScript currently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also strips out the timezone, which might affect the comparison. Can you add zone handling here?
The commit message contains:
When EXDATE is in DATE format and DTSTART is DATE-TIME, then to determine whether an occurrence shall be excluded, the occurrence shall be converted to DATE and then compared to EXDATE.
I would say in the conversion of VALUE=DATE-TIME to VALUE=DATE the timezone is irrelevant.
@dilyanpalauzov Did you have a chance to look into this? Would appreciate if you could take care of the review comments. |
1722292
to
184e9e9
Compare
When EXDATE is in DATE format and DTSTART is DATE-TIME, then to determine whether an occurrence shall be excluded, the occurrence shall be converted to DATE and then compared to EXDATE. This applies also for the very first EXDATE, when it coincides with DTSTART.
184e9e9
to
ac0ad56
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not know how these reviews of my own change works. Apparently I have to add some comment for the sake of having any comment
It looks like we haven't heard back on this issue, therefore we are closing this issue. If this problem persists in the latest version of ical.js, please re-open this issue. |
?!?! |
When EXDATE is in DATE format and DTSTART is DATE-TIME, then to determine whether an occurrence shall be excluded, the occurrence shall be converted to DATE and then compared to EXDATE.
This applies also for the very first EXDATE, when it coincides with DTSTART.
I had this change locally since 2022. I have not uploaded it, as I have lost hope that PRs here will be handled.