Ok, so this seems to be a third-party issue. Closing it now.
[iCloud] REPORT calender-query with time-range doesn't return VTODOs without times
For reference and transparency: We have created this report on Apple Bug Reporter on 16 Mar 2016 here: https://bugreport.apple.com/web/?problemID=25197744
REPORT calender-query can be used with time-range to filter results by time. This is also applicable to VTODO collections (task lists). To determine whether a VTODO is within the requested time, the algorithm from page 92 [http://tools.ietf.org/html/rfc4791#page-92] must be used. According to this algorithm, VTODOs which do not have any of DTSTART, DURATION, DUE, COMPLETED and CREATED, the overlapping value is always TRUE, meaning that those tasks should always be returned regardless of which time range is requested.
iCloud (16 Mar 2016) currently does NOT return VTODOs which do not have any of DTSTART, DURATION, DUE, COMPLETED and CREATED.
Steps to Reproduce:
- Create a new task list (MKCOL)
- Add a new task without DTSTART, DURATION, DUE, COMPLETED and CREATED.
- Do REPORT calendar-query with time-range start="<some time>".
All tasks without DTSTART, DURATION, DUE, COMPLETED and CREATED should be returned.
Tasks without DTSTART, DURATION, DUE, COMPLETED and CREATED are not returned.
iCloud, 16 Mar 2016
iCloud, server: https://p23-caldav.icloud.com/
Apple engineering has responded that we can use PROPFIND (which would list all iCalendars, not only VTODOs) and that they can’t fix it because
We need to make this exception.