{"action":"opened","issue":{"url":"https://api.github.com/repos/fruux/sabre-vobject/issues/227","labels_url":"https://api.github.com/repos/fruux/sabre-vobject/issues/227/labels{/name}","comments_url":"https://api.github.com/repos/fruux/sabre-vobject/issues/227/comments","events_url":"https://api.github.com/repos/fruux/sabre-vobject/issues/227/events","html_url":"https://github.com/fruux/sabre-vobject/issues/227","id":78096051,"number":227,"title":"At sync, Apple Calendar refuses changed URL from \"URL;VALUE=URI:\" syntax","user":{"login":"ronanguilloux","id":313677,"avatar_url":"https://avatars.githubusercontent.com/u/313677?v=3","gravatar_id":"","url":"https://api.github.com/users/ronanguilloux","html_url":"https://github.com/ronanguilloux","followers_url":"https://api.github.com/users/ronanguilloux/followers","following_url":"https://api.github.com/users/ronanguilloux/following{/other_user}","gists_url":"https://api.github.com/users/ronanguilloux/gists{/gist_id}","starred_url":"https://api.github.com/users/ronanguilloux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronanguilloux/subscriptions","organizations_url":"https://api.github.com/users/ronanguilloux/orgs","repos_url":"https://api.github.com/users/ronanguilloux/repos","events_url":"https://api.github.com/users/ronanguilloux/events{/privacy}","received_events_url":"https://api.github.com/users/ronanguilloux/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-05-19T13:48:58Z","updated_at":"2015-05-19T13:48:58Z","closed_at":null,"body":"Hi there,\r\n\r\nconnecting a SavreDAV instance having Sabre's vObject `3.4.2` with Apple Calendar client `v7.0` (build `1841.1` on OSX `10.9.5`), I have issues with events generated in Apple Calendar client:\r\n\r\nManually creating an event in Apple Calendar,\r\nhere is the iCal that is actually sent by Apple Calendar to SabreDAV: \r\n\r\n```\r\nBEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//Apple Inc.//Mac OS X 10.9.5//EN\r\nCALSCALE:GREGORIAN\r\nBEGIN:VEVENT\r\nCREATED:20150519T130116Z\r\nUID:661FF39B-FDC2-4FF7-871A-0C80501D2D23\r\nDTEND;VALUE=DATE:20150521\r\nTRANSP:TRANSPARENT\r\nSUMMARY:gqeger\r\nDTSTART;VALUE=DATE:20150520\r\nDTSTAMP:20150519T131019Z\r\nSEQUENCE:3\r\nURL;VALUE=URI:projet-ode.fr/event/95%231    <-- note the URL;VALUE... format from Apple\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n```\r\n\r\nSabreDAV custom-persits it in ElasticSearch (PR to come!) with a jCal format (using vObject to generate such JSON). There is no data loss: all is OK at this point.\r\n\r\nThen, as expected, SavreDAV send back a response: here is the iCal received by Apple Calendar from SavreDAV:\r\n\r\n```\r\nBEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//Apple Inc.//Mac OS X 10.9.5//EN\r\nCALSCALE:GREGORIAN\r\nBEGIN:VEVENT\r\nCREATED:20150519T130116Z\r\nUID:661FF39B-FDC2-4FF7-871A-0C80501D2D23\r\nDTEND;VALUE=DATE:20150521\r\nTRANSP:TRANSPARENT\r\nSUMMARY:gqeger\r\nDTSTART;VALUE=DATE:20150520\r\nDTSTAMP:20150519T131019Z\r\nSEQUENCE:3\r\nURL:projet-ode.fr/event/95%231     <-- note the new URL:... syntax format changed by vObject\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n```\r\n\r\n__The issue is__: Apple Calendar refuses to accept that callback: Apple CalendarAgent throws a CalDAVWriteEntityQueueableOperation error.\r\n\r\nOnly the `URL` field as changed, but for Apple Calendar, such sync attempt fails.\r\n\r\nWe (@ErrOrnAmE & I) suppose that just because of this URL field syntax change, Apple does not accept the end the sync operation with success.\r\n\r\nA __workaround__ is to change line 168 in `Sabre\\VObject\\Parser\\Json.php` file, as follow: \r\n\r\n```php\r\nif ($defaultPropertyClass !== get_class($prop) || $defaultPropertyClass == \"Sabre\\VObject\\Property\\Uri\") {\r\n```\r\n\r\nand change an expected VEvent file content inside the `testRoundTripJCal` method in the related `JsonTest.php` unit test file (line 333), to make unit tests work again.\r\n\r\nTo you, \r\n\r\n- is this an Apple-specific behavior you wan vObject to address? \r\n- If yes, does this worth a PR?\r\n\r\nThanks!\r\n\r\n"}}