nextcloud / nextcloud/server

Push sync for calendars, tasks, and contacts (CalDAV and CardDAV)

Open
#22,379 27 comments 15 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

2. developing enhancement feature: caldav feature: carddav feature: dav
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Is your feature request related to a problem? Please describe.
Nextcloud is clearly maturing fast. Thanks to everyone for the hard work. To bring it to parity with other first class cloud services, it would be awesome if Nextcloud could provide push notifications for CalDAV and CardDAV. Changes to calendars and tasks would benefit from faster propagation without needing to resort to rapid fetch intervals, which are resource intensive. It's frustrating when changes across devices are not in sync and create version control issues when editing on multiple devices.

It appears to be possible to enable push for CalDAV and CardDAV on Apple iOS, iPadOS, and macOS devices. Not sure about other devices.

Describe the solution you'd like
Implement something like this from FastMail. Unclear what the technical backend is. Perhaps they would be willing to share. For iOS, iPadOS, and macOS, it appears this involved collaboration with Apple, although not sure.
https://fastmail.blog/2016/10/10/push-sync-for-contacts-calendars-now-available-on-ios/

Describe alternatives you've considered
Faster fetch intervals are imperfect, drain resources (especially for battery powered devices. Z-push is an option but clunky and also resource intensive. It is inefficient, since it just converts CalDAV and CardDAV to Microsoft ActiveSync. This also creates reliance on a new protocol.

Thanks again, and completely understand that this is "nice to have" not "need to have." But, given how Nextcloud is maturing, it would be awesome to bring it to parity with cloud services others offer.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by determining how CalDAV and CardDAV currently synchronize and what technical backend could provide push notifications, then define supported clients, protocol boundaries, and measurable completion criteria.

Written by the indexing model from the issue text.

Assessment

Domain
backend, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.