Skip to content
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

Exceptions must include time #51

Open
mikael-s opened this issue Mar 14, 2023 · 5 comments
Open

Exceptions must include time #51

mikael-s opened this issue Mar 14, 2023 · 5 comments
Assignees
Milestone

Comments

@mikael-s
Copy link

Hello,

Thanks for the project!

I gave a try to yaml2ics as I'm planning to use a yaml file in order to manage some of my agendas.
I made the following example, where a recurring event has some exceptions:

name: Test
timezone: Europe/Paris

events:
  - summary: Event1
    begin: 2023-03-10 09:00:00
    duration:
      minutes: 195
    location: M3
    repeat:
      interval:
        weeks: 1
      until: 2023-05-05
      except_on:
        - 2023-03-17
        - 2023-03-31
        - 2023-04-21
        - 2023-04-28

With yaml2ICS.py, the produced ICS has the following line for the exceptions: EXDATE;TZID=/ics.py/2020.1/Europe/Paris:20230317,20230331,20230421,20230428. It looks like this is ignored by the software I used for importing my ICS (ie. Zimbra Calendar, Nextcloud Calendar, Google Calendar) as the exceptions were not taken into account.

However adding the time to the exceptions (either in the YAML or in the ICS) solve the issue. Would it be possible to automatically add the same time as the start time if no time was specified by the user?

Thanks!

@itrich
Copy link
Contributor

itrich commented May 24, 2023

I can confirm this issue with https://fullcalendar.io/. Other clients such as Thunderbird however seem to handle missing time better.

@itrich
Copy link
Contributor

itrich commented May 24, 2023

However adding the time to the exceptions (either in the YAML or in the ICS) solve the issue. Would it be possible to automatically add the same time as the start time if no time was specified by the user?

I'm note sure if automatically adding the start time to an exception with no defined time solves the problem for every situation. For instance, if you have a recurring event repeating multiple times a day, I'd expect from an exception with no defined time to cancel all meetings on that given day. This is how Thunderbird interprets the exception.

RFC 5545 unfortunately is not very clear about how to handle exceptions without given time - which is probably the reason why clients are behaving different.

   Value Type:  The default value type for this property is DATE-TIME.
      The value type can be set to DATE.

I'm happy to create a PR once we've agreed on how to solve this issue.

@stefanv
Copy link
Member

stefanv commented Jun 8, 2023

Perhaps related to #54

@stefanv
Copy link
Member

stefanv commented Jun 8, 2023

After investigating further, I can confirm that Google does not interpret exceptions without times correctly. I will make a patch to add it automatically, and then we can debate the exact behavior.

@itrich
Copy link
Contributor

itrich commented Jun 8, 2023

Thank you!

I'd except that if no time is defined, that all recurring events on that particular day are skipped.

@stefanv stefanv added this to the 0.3 milestone Jun 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants