Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICloud calendar support #305

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

ICloud calendar support #305

wants to merge 2 commits into from

Conversation

EasyHard
Copy link

icloud calendar CalDav has three places that are implemented differently.

  1. It can return empty string "" on status:Dav for a calendar.
  2. for each .ics, it returns two props, one without resource type.
  3. It doesn't use Dav namespace for props

icloud calendar CalDav has three places that are implemented differently.
1. It can return empty string "" on status:Dav for a calendar.
2. for each .ics, it returns two props, one without resource type.
3. It doesn't use Dav namespace for props
@EasyHard EasyHard mentioned this pull request Aug 25, 2024
@jackkamm
Copy link
Collaborator

Thanks for investigating this.

I'd like to understand a bit better what is going on before merging this. Could you post a few examples of the HTTP responses you're getting from iCloud, that this patch fixes? In case it helps, I've added an extra level of debug verbosity, so that URL requests and responses are printed to *org-caldav-debug* when syncing. To use this, pull/merge the latest master branch, and set org-caldav-debug-level to 3.

Additional comments:

I think it sounds reasonable to treat empty string as 404 status, but should add a comment that this behavior is a workaround for iCalendar.

It seems strange to be adding in resourcetype tag into the org-caldav-url-dav-get-properties result, even when property isn't resourcetype (e.g when it's getetag instead).

Injecting "DAV:" as default namespace may be reasonable, but I'm not sure the propstat tag is the best place. Also it seems rather surprising that in the XML response from iCloud, the duplicate 404 entry you delete has xmlns="DAV:", but the 200 entry you keep is missing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants