Repository navigation
Fix MKCOL calendar creation by removing protected properties - #178
Merged
Merged
Conversation
…alendar Strict servers such as Fastmail (Cyrus) reject the whole MKCOL with 403 when the body tries to set a protected property, which surfaced as a misleading 'missing privileges' error. Also keep the server's response body in the error details so the rejected property/precondition is visible. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0182qE7PHNqy9YKpN4ufmMu3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes calendar creation failures by removing the
current-user-principalproperty from the MKCOL request. Per RFC 5689, protected properties must not be included in WebDAV property-setting operations, as the entire request fails if any property is rejected.Changes
currentUserPrincipal = CurrentUserPrincipal()from the MKCOL request body, which was causing server rejectionsImplementation Details
The response body from a failed MKCOL contains an
mkcol-responseelement that names which properties or preconditions the server rejected. This is now captured and logged at warning level, then included in the error result passed to the UI, giving better visibility into CalDAV server behavior.https://claude.ai/code/session_0182qE7PHNqy9YKpN4ufmMu3