Closed
Bug 410898
Opened 17 years ago
Closed 17 years ago
DTSTART/DTEND ignored in FREEBUSY response to scheduling request
Categories
(Calendar :: Provider: CalDAV, defect)
Calendar
Provider: CalDAV
Tracking
(Not tracked)
RESOLVED
FIXED
0.9
People
(Reporter: advax, Assigned: browning)
Details
Attachments
(2 files)
5.34 KB,
patch
|
browning
:
review+
|
Details | Diff | Splinter Review |
7.92 KB,
patch
|
dbo
:
review+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Build Identifier: Sunbird 0.8pre
If the response to a FREEBUSY POST request has a narrower time range
than that in the request, it is ignored and times outside the DTSTART/DETEND
range are shown as free. They should be shown as "no information"
Reproducible: Always
Steps to Reproduce:
1. Edit an event in a CalDAV calendar
2. Invite attendees
3. Enter an attendee who has free/busy stored on the server
4. Sunbird sends a VFREEBUSY request with e.g.
DTSTART:20080106T080000Z
DTEND:20080122T080000Z
5. Server responds with e.g.
DTSTART:20080106T080000Z
DTEND:20080110T080000Z
Actual Results:
Sunbird shows entire time from 20080106 to 20080122 as free (apart from
any listed events)
Expected Results:
Sunbird shows time from 20080106 to 20080110 as free and from
20080110 to 20080122 as unknown
This is perhaps an unlikely scenario found while testing. A server would normally return FREEBUSY data for the entire range requested.
Comment 1•17 years ago
|
||
Hmm, reading this bug I think it's a server bug. If the whole range is requested, but the server just responds with a subset of that requested range, it's ok to leave the missing range as "unknown".
Andrew, could you please elaborate a bit more and state what server you are using? Thanks.
Assignee | ||
Comment 2•17 years ago
|
||
I think the issue is that we *don't* leave the missing range as unknown. Say we ask for the next two weeks and the server responds with information about just the next week. getFreeBusyIntervals fetches an array of calIFreeBusyInterval objects that show free/busy over that week - but we essentially ignore the DTSTART/DTEND from the server response, so we don't know that the response timerange is different from the requested timerange - and we show the entire second week as free rather than as unknown. Or so I assume - I haven't actually broken a server to make it fail in this particular way.
I don't know of any servers that would regularly trigger this bug during normal operation, so I haven't prioritized it. I don't know of any RFC provision that says a server MUST NOT return a different timerange than the one requested - but I don't know why one would want do do so, either.
Comment 3•17 years ago
|
||
Yes, I misread that part, thanks for your explanations, Bruno. So this seems to be a caldav flaw from a code perspective, even though we cannot confirm this using a server, right?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 4•17 years ago
|
||
From an operational standpoint, yes, this is a CalDAV bug. But from a code standpoint it seems to me to be more of an iTIP one, to be fixed in the calIFreeBusyProvider interface. One approach might be a new freeBusyType of "reportedRange" or somesuch, which providers could return in the getFreeBusyIntervals array when the reported range does not match the requested one.
Comment 5•17 years ago
|
||
Hmm, right. I'd like to keep calIFreeBusyProvider simple, i.e. callers of the API should just care about the returned dates, assuming they've received information about the whole range (when operation has completed). W.r.t. this special case, I think caldav could easily signal an "unknown" free-busy interval for the outstanding range. This would just require an additional constant calIFreeBusyInterval::UNKNOWN (+ small adoption to the free-busy pane). What do you think, Bruno?
Assignee | ||
Comment 6•17 years ago
|
||
Yes, that's a better approach.
Comment 7•17 years ago
|
||
Attachment #315731 -
Flags: review?(browning)
Updated•17 years ago
|
OS: Linux → All
Hardware: PC → All
Assignee | ||
Comment 8•17 years ago
|
||
Comment on attachment 315731 [details] [diff] [review]
[checkd in] calIFreeBusyInterval, UI and WCAP parts
looks good; sorry for the delay. r=browning
Attachment #315731 -
Flags: review?(browning) → review+
Comment 9•17 years ago
|
||
Comment on attachment 315731 [details] [diff] [review]
[checkd in] calIFreeBusyInterval, UI and WCAP parts
no problem, I think your review times are five times better than mine :/
Attachment #315731 -
Attachment description: calIFreeBusyInterval, UI and WCAP parts → [checkd in] calIFreeBusyInterval, UI and WCAP parts
Assignee | ||
Comment 10•17 years ago
|
||
This is the CalDAV part. Includes another UI tweak that looks right to me and without which we don't get the trailing Unknown period when the DTEND of the freebusy response is earlier than requested.
Attachment #316940 -
Flags: review?(daniel.boelzle)
Comment 11•17 years ago
|
||
Comment on attachment 316940 [details] [diff] [review]
CalDAV part
looks good, r=dbo
Attachment #316940 -
Flags: review?(daniel.boelzle) → review+
Assignee | ||
Comment 12•17 years ago
|
||
patch checked in on HEAD and MOZILLA_1_8_BRANCH
-> FIXED
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Updated•17 years ago
|
Target Milestone: --- → 0.9
Updated•17 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•17 years ago
|
Assignee: nobody → browning
Status: REOPENED → NEW
Updated•17 years ago
|
Status: NEW → RESOLVED
Closed: 17 years ago → 17 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•