Skip to content

Conversation

@raphaelfloresca
Copy link

@raphaelfloresca raphaelfloresca commented Jun 12, 2025

This PR takes Remind events that would normally generate a single VEVENT with multiple RDATE and splits them off into their own VEVENTs.

This addresses my issue here.

It potentially also addresses these issues re: recurring events.

#20
#21

As these issues were closed due to the fix for generating single events being 'better done outside of this lib', I'm unsure whether you'd like to merge this.

However, from testing out with multiple CalDAV clients, it seems RDATE is not widely supported, so perhaps this switch is something to consider to improve compatibility of python-remind with other CalDAV clients.

Happy to discuss further.

@jspricke
Copy link
Owner

Thanks for the proposal!

This PR takes Remind events that would normally generate a single VEVENT with multiple RDATE and splits them off into their own VEVENTs.
[..]
As these issues were closed due to the fix for generating single events being 'better done outside of this lib', I'm unsure whether you'd like to merge this.

The problem is that python-remind assumes that one REM line corresponds to one VEVENT to trace changes on both sides.

However, from testing out with multiple CalDAV clients, it seems RDATE is not widely supported, so perhaps this switch is something to consider to improve compatibility of python-remind with other CalDAV clients.

Can you be more specific which clients you tried?
I use radicale-remind with DAVx5 and there it works fine.

@raphaelfloresca
Copy link
Author

raphaelfloresca commented Jun 12, 2025

The problem is that python-remind assumes that one REM line corresponds to one VEVENT to trace changes on both sides.

That is very true - this switch breaks the existing logic of one REM line => one VEVENT. For two-way sync (as in radicale-remind), making changes on the CalDAV client to this type of recurring event wouldn't work out of the box.

I'm up for spending a bit of time in the future to think about how to handle this case.

Perhaps something involving a shared part of the UID across associated iCalendar events, which gets translated to a single REM line upon change on the iCalendar side?

Can you be more specific which clients you tried?

I'm an iOS/Mac user so I've tested out rem2dav and rem2ics on Radicale, Baikal and DAViCal with Apple Calendar, OneCalendar, Fantastical, and Calendars (another iOS app). I've also tried using InfCloud and AgenDAV (web-based clients). RDATE doesn't work at all on these unfortunately (with the exception of AgenDAV and DAViCal together). Perhaps it's time for a switch to Android haha.

@raphaelfloresca
Copy link
Author

I'm testing this out on radicale-remind, there's an issue getting recurring events to show up as individual VEVENTs.

I'm a little busy this month, so I'll need more time to get everything to work. Please leave the PR open for when I'm able to return to it.

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

Successfully merging this pull request may close these issues.

2 participants