nextcloud / calendar

📆 Calendar app for Nextcloud
https://apps.nextcloud.com/apps/calendar
GNU Affero General Public License v3.0
965 stars 237 forks source link

Adaptive/configurable sync intervals for subscription calendars #6187

Open miaulalala opened 1 month ago

miaulalala commented 1 month ago

Is your feature request related to a problem? Please describe.

The Nextcloud server caches the subscriptions (stores data in the database) and exposes them as regular calendars. The default refresh rate for this is of one week, which is appropriate for things like public holiday calendars, but might not be for other things, for instance subscribing to a public calendar from another Nextcloud user, and expecting real-time sync.

Describe the solution you'd like

After https://github.com/nextcloud/server/issues/43541 has been implemented, we should add a custom subscription option for each calendar in the settings. This interval should be configurable by the user for each calendar.

It should provide pre- set intervals: 1 day, 1 week, etc.

Only allow setting a sync rate from the user side if the calendar itself doesn't already provide one as per RFC 7986

Describe alternatives you've considered

No response

Additional context

No response

tcitworld commented 1 month ago

It would be nice if admins could enforce a sane minimum as well.

miaulalala commented 1 month ago

It would be nice if admins could enforce a sane minimum as well.

We would enforce sane minimums on the frontend side as we would preconfigure the sync intervals, avoiding weird sync intervals such as 1 minute. Let's start with "every 1 day" and see if that is too high, then we can add more options.

ChristophWurst commented 2 weeks ago

Is there a standard prop for the sync interval, e.g. so that clients could allow the users to adjust the interval as well?

miaulalala commented 2 weeks ago

We could write the https://icalendar.org/New-Properties-for-iCalendar-RFC-7986/5-7-refresh-interval-property.html property if the server doesn't provide one

miaulalala commented 2 weeks ago

Also found some custom property by outlook: X-PUBLISHED-TTL