hide_older_than and recurring events
When you specify a "hide_older_than" in the config, it does exactly what it says; however, it also excludes repeating events, which is counterintuitive for most people, as suddenly, a year down the road, all their birthdays or whatever disappear.
I've modified caldav-PROPFIND.php, caldav-REPORT-calquery.php and caldav-REPORT-sync-collection.php to fix this behaviour. They all contain the following code to fix the where clause:
" AND (CASE WHEN caldav_data.caldav_type<>'VEVENT' OR calendar_item.dtstart IS NULL THEN true ELSE calendar_item.dtstart > (now() - interval '".intval($c->hide_older_than)." days') END) "
Changing this to:
" AND (CASE WHEN caldav_data.caldav_type<>'VEVENT' OR calendar_item.dtstart IS NULL OR calendar_item.rrule IS NOT NULL THEN true ELSE calendar_item.dtstart > (now() - interval '".intval($c->hide_older_than)." days') END) "
hides entries older than the specified number of days, unless it has an RRULE. This seems to work for me.