{"action":"created","issue":{"url":"https://api.github.com/repos/fruux/sabre-vobject/issues/351","repository_url":"https://api.github.com/repos/fruux/sabre-vobject","labels_url":"https://api.github.com/repos/fruux/sabre-vobject/issues/351/labels{/name}","comments_url":"https://api.github.com/repos/fruux/sabre-vobject/issues/351/comments","events_url":"https://api.github.com/repos/fruux/sabre-vobject/issues/351/events","html_url":"https://github.com/fruux/sabre-vobject/issues/351","id":185926884,"number":351,"title":"Vevent::isInTimeRange and EventIterator::fastFoward does not work well for allDay event","user":{"login":"strokyl","id":173588,"avatar_url":"https://avatars.githubusercontent.com/u/173588?v=3","gravatar_id":"","url":"https://api.github.com/users/strokyl","html_url":"https://github.com/strokyl","followers_url":"https://api.github.com/users/strokyl/followers","following_url":"https://api.github.com/users/strokyl/following{/other_user}","gists_url":"https://api.github.com/users/strokyl/gists{/gist_id}","starred_url":"https://api.github.com/users/strokyl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/strokyl/subscriptions","organizations_url":"https://api.github.com/users/strokyl/orgs","repos_url":"https://api.github.com/users/strokyl/repos","events_url":"https://api.github.com/users/strokyl/events{/privacy}","received_events_url":"https://api.github.com/users/strokyl/received_events","type":"User","site_admin":false},"labels":[{"id":10887036,"url":"https://api.github.com/repos/fruux/sabre-vobject/labels/invalid","name":"invalid","color":"e6e6e6","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-10-28T13:45:37Z","updated_at":"2016-11-02T08:46:52Z","closed_at":"2016-10-28T19:42:48Z","body":"Considering the following vevent which is an allDay event that is repeated every day forever: \n\n`BEGIN:VCALENDAR\nPRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN\nVERSION:2.0\nBEGIN:VEVENT\nCREATED:20161028T122603Z\nLAST-MODIFIED:20161028T122614Z\nDTSTAMP:20161028T122614Z\nUID:fa7bdace-5732-48d2-8c54-9f4eabc1fe6e\nSUMMARY:test allDay rec \nRRULE:FREQ=DAILY\nDTSTART;VALUE=DATE:20161027\nDTEND;VALUE=DATE:20161028\nTRANSP:TRANSPARENT\nEND:VEVENT\nEND:VCALENDAR`\n\nThe `VEvent::isInTimeRange` does not work well on such instance. For example if it is called with `new \\DateTime('2016-10-31'), new \\DateTime('2016-12-12')` it will return false instead of true.\n\nThis is because inside this method, the following line (49):\n\n`$it->fastForward($start);`\n\nwill move to the instance that end just before 2016-10-31. In fact this instance end exactly at 2016-10-31, this is what cause `EventIterator::fastForward` to move to the wrong instance.\n"},"comment":{"url":"https://api.github.com/repos/fruux/sabre-vobject/issues/comments/257804918","html_url":"https://github.com/fruux/sabre-vobject/issues/351#issuecomment-257804918","issue_url":"https://api.github.com/repos/fruux/sabre-vobject/issues/351","id":257804918,"user":{"login":"strokyl","id":173588,"avatar_url":"https://avatars.githubusercontent.com/u/173588?v=3","gravatar_id":"","url":"https://api.github.com/users/strokyl","html_url":"https://github.com/strokyl","followers_url":"https://api.github.com/users/strokyl/followers","following_url":"https://api.github.com/users/strokyl/following{/other_user}","gists_url":"https://api.github.com/users/strokyl/gists{/gist_id}","starred_url":"https://api.github.com/users/strokyl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/strokyl/subscriptions","organizations_url":"https://api.github.com/users/strokyl/orgs","repos_url":"https://api.github.com/users/strokyl/repos","events_url":"https://api.github.com/users/strokyl/events{/privacy}","received_events_url":"https://api.github.com/users/strokyl/received_events","type":"User","site_admin":false},"created_at":"2016-11-02T08:46:52Z","updated_at":"2016-11-02T08:46:52Z","body":"I can understand you position about `EventIterator::fastForward`. But for the moment, there is an issue for sure about `VEvent::isInTimeRange` and allDay event that cause sabre-dav REPORT to exclude allDay event in some case. \r\nFor example, if you consider the ICS I gave you when I opened the issue, it represents an allDay recurring event that is repeated everyday since the 27 October 2016.\r\nWhen I ask Sabre-dav via a report to give me all the event between the 31 October 2016 and the 12 december 2016, it does not return me any instance of this recurring event. And this issue is because of a bad comportment of `VEvent::isInTimeRange`\r\nIf you do not want to change the code of `EventIterator::fastForward`, then I have a suggestion to fix this issue in this PR: https://github.com/fruux/sabre-vobject/pull/353\r\n"}}
{"actor":{"display_login":"strokyl"}}