{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/core/issues/20184","labels_url":"https://api.github.com/repos/owncloud/core/issues/20184/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/core/issues/20184/comments","events_url":"https://api.github.com/repos/owncloud/core/issues/20184/events","html_url":"https://github.com/owncloud/core/pull/20184","id":114288330,"number":20184,"title":"Introducing CardDAV into core","user":{"login":"DeepDiver1975","id":1005065,"avatar_url":"https://avatars.githubusercontent.com/u/1005065?v=3","gravatar_id":"","url":"https://api.github.com/users/DeepDiver1975","html_url":"https://github.com/DeepDiver1975","followers_url":"https://api.github.com/users/DeepDiver1975/followers","following_url":"https://api.github.com/users/DeepDiver1975/following{/other_user}","gists_url":"https://api.github.com/users/DeepDiver1975/gists{/gist_id}","starred_url":"https://api.github.com/users/DeepDiver1975/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DeepDiver1975/subscriptions","organizations_url":"https://api.github.com/users/DeepDiver1975/orgs","repos_url":"https://api.github.com/users/DeepDiver1975/repos","events_url":"https://api.github.com/users/DeepDiver1975/events{/privacy}","received_events_url":"https://api.github.com/users/DeepDiver1975/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/owncloud/core/labels/3%20-%20To%20Review","name":"3 - To Review","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/owncloud/core/milestones/48","html_url":"https://github.com/owncloud/core/milestones/9.0-current","labels_url":"https://api.github.com/repos/owncloud/core/milestones/48/labels","id":1196845,"number":48,"title":"9.0-current","description":"","creator":{"login":"cmonteroluque","id":879976,"avatar_url":"https://avatars.githubusercontent.com/u/879976?v=3","gravatar_id":"","url":"https://api.github.com/users/cmonteroluque","html_url":"https://github.com/cmonteroluque","followers_url":"https://api.github.com/users/cmonteroluque/followers","following_url":"https://api.github.com/users/cmonteroluque/following{/other_user}","gists_url":"https://api.github.com/users/cmonteroluque/gists{/gist_id}","starred_url":"https://api.github.com/users/cmonteroluque/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmonteroluque/subscriptions","organizations_url":"https://api.github.com/users/cmonteroluque/orgs","repos_url":"https://api.github.com/users/cmonteroluque/repos","events_url":"https://api.github.com/users/cmonteroluque/events{/privacy}","received_events_url":"https://api.github.com/users/cmonteroluque/received_events","type":"User","site_admin":false},"open_issues":548,"closed_issues":302,"state":"open","created_at":"2015-07-07T14:21:23Z","updated_at":"2015-11-09T07:26:00Z","due_on":"2016-02-09T05:00:00Z","closed_at":null},"comments":64,"created_at":"2015-10-30T15:09:44Z","updated_at":"2015-11-09T08:19:49Z","closed_at":"2015-11-06T19:54:16Z","pull_request":{"url":"https://api.github.com/repos/owncloud/core/pulls/20184","html_url":"https://github.com/owncloud/core/pull/20184","diff_url":"https://github.com/owncloud/core/pull/20184.diff","patch_url":"https://github.com/owncloud/core/pull/20184.patch"},"body":"@karlitschek @jancborchardt @PVince81 @schiesbn @blizzz @icewind1991 @MorrisJobke please review and test\r\n\r\n@Henni here we go! \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/owncloud/core/issues/comments/154994279","html_url":"https://github.com/owncloud/core/pull/20184#issuecomment-154994279","issue_url":"https://api.github.com/repos/owncloud/core/issues/20184","id":154994279,"user":{"login":"dmfs","id":1614987,"avatar_url":"https://avatars.githubusercontent.com/u/1614987?v=3","gravatar_id":"","url":"https://api.github.com/users/dmfs","html_url":"https://github.com/dmfs","followers_url":"https://api.github.com/users/dmfs/followers","following_url":"https://api.github.com/users/dmfs/following{/other_user}","gists_url":"https://api.github.com/users/dmfs/gists{/gist_id}","starred_url":"https://api.github.com/users/dmfs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmfs/subscriptions","organizations_url":"https://api.github.com/users/dmfs/orgs","repos_url":"https://api.github.com/users/dmfs/repos","events_url":"https://api.github.com/users/dmfs/events{/privacy}","received_events_url":"https://api.github.com/users/dmfs/received_events","type":"User","site_admin":false},"created_at":"2015-11-09T08:19:49Z","updated_at":"2015-11-09T08:19:49Z","body":"There is more. The property `CARDDAV:addressbook-home-set` is unknown too (see https://tools.ietf.org/html/rfc6352#section-7.1.1). This property should be defined on the principal URL.\r\n\r\nHere is the request I send to `/remote.php/dav/principals/USERNAME/`:\r\n\r\n```xml\r\n<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n<A:propfind xmlns:A=\"DAV:\" xmlns:B=\"urn:ietf:params:xml:ns:carddav\">\r\n  <A:prop>\r\n    <A:displayname/>\r\n    <A:resourcetype/>\r\n    <B:addressbook-home-set/>\r\n  </A:prop>\r\n</A:propfind>\r\n```\r\n\r\nHere is what OC 9 returns:\r\n\r\n```xml\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<d:multistatus xmlns:d=\"DAV:\" xmlns:s=\"http://sabredav.org/ns\">\r\n  <d:response>\r\n    <d:href>/remote.php/dav/principals/USERNAME/</d:href>\r\n    <d:propstat>\r\n      <d:prop>\r\n        <d:displayname>USERNAME</d:displayname>\r\n        <d:resourcetype>\r\n          <d:collection/>\r\n        </d:resourcetype>\r\n      </d:prop>\r\n      <d:status>HTTP/1.1 200 OK</d:status>\r\n    </d:propstat>\r\n    <d:propstat>\r\n      <d:prop>\r\n        <x2:addressbook-home-set xmlns:x2=\"urn:ietf:params:xml:ns:carddav\"/>\r\n      </d:prop>\r\n      <d:status>HTTP/1.1 404 Not Found</d:status>\r\n    </d:propstat>\r\n  </d:response>\r\n</d:multistatus>\r\n```\r\n\r\nNo `CARDDAV:addressbook-home-set`.\r\n\r\nAgain, here is what OC 8 returns:\r\n\r\n```xml\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<d:multistatus xmlns:d=\"DAV:\" xmlns:s=\"http://sabredav.org/ns\" xmlns:card=\"urn:ietf:params:xml:ns:carddav\">\r\n  <d:response>\r\n    <d:href>/remote.php/carddav/principals/USERNAME/</d:href>\r\n    <d:propstat>\r\n      <d:prop>\r\n        <d:displayname>USERNAME</d:displayname>\r\n        <d:resourcetype>\r\n          <d:collection/>\r\n          <d:principal/>\r\n        </d:resourcetype>\r\n        <card:addressbook-home-set>\r\n          <d:href>/remote.php/carddav/addressbooks/USERNAME/</d:href>\r\n        </card:addressbook-home-set>\r\n      </d:prop>\r\n      <d:status>HTTP/1.1 200 OK</d:status>\r\n    </d:propstat>\r\n  </d:response>\r\n</d:multistatus>\r\n```\r\nIt points to the right addressbook home set.\r\n\r\nThe same problem exists with `CALDAV:calendar-home-set`."}}