Skip to content
This repository was archived by the owner on Aug 2, 2026. It is now read-only.
This repository was archived by the owner on Aug 2, 2026. It is now read-only.

CalDAV support #340

Open
Open

Description

@emersion

Ref #207

Activity

  1. chaudl113 commented on May 29, 2026

    @chaudl113
  2. cjroth commented on Jun 5, 2026

    @cjroth

    Working in #343

  3. BMGY396 commented on Jun 16, 2026

    @BMGY396

    I have submitted PR #344 implementing CalDAV support via go-webdav/caldav, following the same architecture as the existing CardDAV backend for consistency.

    What the implementation covers:

    • Full caldav.Backend interface (List/Get/Put/Delete/Query calendar objects)
    • iCalendar (RFC 5545) serialization via go-ical
    • New hydroxide caldav subcommand (standalone, default port 8443)
    • Integrated into hydroxide serve with --disable-caldav flag
    • Automatic cache invalidation via Proton event notifications — calendar changes from the web/app appear to CalDAV clients without restarting hydroxide
    • Lazy-loading from ProtonMail API on first request

    I have tested successfully with Thunderbird and Gnome Evolution. Write operations (Put/Delete) currently operate on the local cache; two-way sync to the ProtonMail Calendar API would be a natural next step.

    Would appreciate your review when you have a moment. Happy to iterate on the implementation based on feedback.

  4. waterWang commented on Jul 26, 2026

    @waterWang

    CalDAV support has been implemented in PR #352. This is built on top of the existing caldav branch and adds full CalDAV CRUD support for ProtonMail calendars.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions