Calendar Tab: khal-created Events are rejected by CalDAV #1329

Open
opened 2026-10-07 06:31:05 +00:00 by kayg · 0 comments
Owner

Steps:

  1. Start a fresh local production server and create a Sync app password with full CalDAV access.
  2. Configure vdirsyncer 0.21.0 to discover the server's /dav/ collections and sync untagged to a local filesystem collection.
  3. Use khal 0.14.1 new to create a timed Event, then run vdirsyncer sync.

Expected: the Event syncs to the CalDAV collection.

Actual: collection discovery succeeds, but the upload fails with HTTP 403. The server's Journal CalDAV parser only accepts UIDs ending in @calternal or a dashed UUID; khal's new command creates another valid globally unique UID form. RFC 5545 §3.8.4.7 requires a globally unique UID and does not require UUID syntax.

Evidence: artifacts/bash-calendar/round2-caldav/khal-uid-rejection.json. This run used a fresh throwaway Home and a one-use password; no credential material is in the evidence.

Severity: major. A common CalDAV client cannot create an Event with its normal create command.

Steps: 1. Start a fresh local production server and create a Sync app password with full CalDAV access. 2. Configure vdirsyncer 0.21.0 to discover the server's `/dav/` collections and sync `untagged` to a local filesystem collection. 3. Use khal 0.14.1 `new` to create a timed Event, then run `vdirsyncer sync`. Expected: the Event syncs to the CalDAV collection. Actual: collection discovery succeeds, but the upload fails with HTTP 403. The server's Journal CalDAV parser only accepts UIDs ending in `@calternal` or a dashed UUID; khal's `new` command creates another valid globally unique UID form. RFC 5545 §3.8.4.7 requires a globally unique UID and does not require UUID syntax. Evidence: `artifacts/bash-calendar/round2-caldav/khal-uid-rejection.json`. This run used a fresh throwaway Home and a one-use password; no credential material is in the evidence. Severity: major. A common CalDAV client cannot create an Event with its normal create command.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1329
No description provided.