CalDAV Reminders reads lose VTODO completion state #558

Open
opened 2026-09-30 23:25:08 +00:00 by kayg · 1 comment
Owner

Related feature: #48.

The real-server API adversarial round wrote a VTODO with STATUS:COMPLETED and COMPLETED:20260925T000000Z. The PUT returned HTTP 201, but the next GET returned HTTP 200 without either completion field (Reminders completed GET: completion was not stored). This indicates a successful CalDAV task write does not persist its completion state. Please reproduce on an isolated local server and add a write/read regression test.

Related feature: #48. The real-server API adversarial round wrote a VTODO with `STATUS:COMPLETED` and `COMPLETED:20260925T000000Z`. The PUT returned HTTP 201, but the next GET returned HTTP 200 without either completion field (`Reminders completed GET: completion was not stored`). This indicates a successful CalDAV task write does not persist its completion state. Please reproduce on an isolated local server and add a write/read regression test.
Author
Owner

#427 comparison: the original probe sends COMPLETED:20260925T090000Z but checks for COMPLETED:20260925T000000Z. The recorded failure combines status and timestamp into one condition and cannot establish that both fields were missing. Production cc25c441b and merged a6fd7f704 each passed 10 ordinary PUT/update/GET repetitions: HTTP 201/201/200, STATUS:COMPLETED present, exact 090000Z retained. DAV Reminder source is identical across those heads.

Pre-existing expectation defect, fixed by beda4eae5 with separate status/time checks and four regression tests. No reproduced persistence loss; no evidence that round 4 makes production worse. Do not close this issue: the body claims both fields were missing, and no original response witness is available to verify that stronger claim. Related UID duplication is separately tracked by #585.

#427 comparison: the original probe sends COMPLETED:20260925T090000Z but checks for COMPLETED:20260925T000000Z. The recorded failure combines status and timestamp into one condition and cannot establish that both fields were missing. Production cc25c441b and merged a6fd7f704 each passed 10 ordinary PUT/update/GET repetitions: HTTP 201/201/200, STATUS:COMPLETED present, exact 090000Z retained. DAV Reminder source is identical across those heads. Pre-existing expectation defect, fixed by beda4eae5 with separate status/time checks and four regression tests. No reproduced persistence loss; no evidence that round 4 makes production worse. Do not close this issue: the body claims both fields were missing, and no original response witness is available to verify that stronger claim. Related UID duplication is separately tracked by #585.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
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#558
No description provided.