[iCloud] REPORT calender-query with time-range doesn't return VTODOs without times


  • developer

    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


    Summary:
    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:

    1. Create a new task list (MKCOL)
    2. Add a new task without DTSTART, DURATION, DUE, COMPLETED and CREATED.
    3. Do REPORT calendar-query with time-range start="<some time>".

    Expected Results:
    All tasks without DTSTART, DURATION, DUE, COMPLETED and CREATED should be returned.

    Actual Results:
    Tasks without DTSTART, DURATION, DUE, COMPLETED and CREATED are not returned.

    Version:
    iCloud, 16 Mar 2016

    Notes:

    Configuration:
    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.