9d46d5b63d5baeb2b45de34b2eacb9c79d2e56e0
_strip_single_event() removed the recurrence-defining properties (RRULE, EXDATE, EXRULE, RDATE) with a single try/except around sequential delattr() calls. When one of them was absent (e.g. an event with no EXDATE), the AttributeError aborted the whole block and the following properties -- notably RDATE -- were left on the expanded single-occurrence VEVENTs returned by a calendar-data expand REPORT. Remove each property independently so a missing one no longer prevents removal of the others. Add a regression test and fixture. Co-Authored-By: Claude <noreply@anthropic.com>
Radicale
Radicale is a small but powerful CalDAV (calendars, to-do lists) and CardDAV (contacts) server, that:
- Shares calendars and contact lists through CalDAV, CardDAV and HTTP.
- Supports events, todos, journal entries and business cards.
- Works out-of-the-box, no complicated setup or configuration required.
- Can limit access by authentication.
- Can secure connections with TLS.
- Works with many CalDAV and CardDAV clients
- Stores all data on the file system in a simple folder structure.
- Can be extended with plugins.
- Is GPLv3-licensed free software.
For the complete documentation, please visit Radicale master Documentation.
Additional hints can be found
Before reporting an issue, please check
Description
Languages
Python
87.4%
JavaScript
9.8%
HTML
1.1%
CSS
0.9%
Perl
0.8%