Closed Bug 647247 Opened 13 years ago Closed 13 years ago

STATUS:NEEDS-ACTION not transmitted

Categories

(Calendar :: Provider: ICS/WebDAV, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: bugzilla.mozilla.org, Unassigned)

Details

User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.27 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.720.0 Chrome/12.0.720.0 Safari/534.27
Build Identifier: Lightning/1.0b2 Shredder/3.1.9pre

Hi there

I use Horde for calendar/tasks management because I can easily sync it with my cell phone.

For the sync between Horde and TB I use Lightning with WebDAV.

Calendar works just fine, but there's problems with Tasks.

Reproducible: Always

Steps to Reproduce:
1. Create an new task, entry is like:

BEGIN:VTODO
CREATED:20110401T144844Z
LAST-MODIFIED:20110401T144851Z
DTSTAMP:20110401T144851Z
UID:847c4c7a-5f2c-416d-a716-c17613f3db05
SUMMARY:Test 1-2-3
END:VTODO

This gets pushed just fine to horde.

2. Mark task as done, this results in an entry like this:

BEGIN:VTODO
CREATED:20110401T144844Z
LAST-MODIFIED:20110401T144911Z
DTSTAMP:20110401T144911Z
UID:847c4c7a-5f2c-416d-a716-c17613f3db05
SUMMARY:Test 1-2-3
STATUS:COMPLETED
COMPLETED:20110401T144911Z
PERCENT-COMPLETE:100
SEQUENCE:1
X-MOZ-GENERATION:1
END:VTODO

STATUS:COMPLETED and PERCENT-COMPLETE:100 are being submitted. This works also just fine.



3. Now, if I did accidentally mark a task as completed and want to set it to "uncompleted" again, I just click in Lightning on the "checkmark" again. Tasks becomes uncompleted now in Lightning. However the following is being submitted to Horde:

BEGIN:VTODO
CREATED:20110401T144844Z
LAST-MODIFIED:20110401T144924Z
DTSTAMP:20110401T144924Z
UID:847c4c7a-5f2c-416d-a716-c17613f3db05
SUMMARY:Test 1-2-3
SEQUENCE:2
X-MOZ-GENERATION:2
END:VTODO

I does not have an indication of STATUS or PERCENT-COMPLETE now. Because of that, Horde does not alter it's own setting and the result is, that the task remains completed in Horde and when TB/Lightning pulls the next time the file, it will also be marked completed again in Lightning.
After creation the property STATUS is undefined. In your next step it is set to COMPLETED. In the next step it will be reset to undefined. Therefore it is not included in the ics output. 

If you want to set the STATUS to NEEDS-ACTION you'll have to edit the task and select "Needs Action" from the dropdown menu.

The question is why does your server doesn't accept the new values (the removal of properties) send by Lightning? If there is no STATUS specified anymore the server should accept this.
Or rather, since Lightning does not send an updated "STATUS" event, then for horde the status didn't change and remains at "COMPLETED".

According to RFC 2445, p. 88 (https://www.ietf.org/rfc/rfc2445.txt):

     statvalue  =/ "NEEDS-ACTION"       ;Indicates to-do needs action.
                / "COMPLETED"           ;Indicates to-do completed.
                / "IN-PROCESS"          ;Indicates to-do in process of
                / "CANCELLED"           ;Indicates to-do was cancelled.
        ;Status values for "VTODO".

The status fields seems to be required to be set to "NEED-ACTION" when a task is marked uncompleted again. Not sending a STATUS field means the status did not alter.

IMHO Horde is handling it correctly.
STATUS is an optional property. A task can have one or not. If STATUS is missing it means it is undefined. In my opinion the server should respect this and not just assume that it is set and assume a value.

(By the way, the current iCalendar specification can be found at <http://tools.ietf.org/html/rfc5545>. It obsoletes RFC 2445)
Where does it as it's an optional property?

   Purpose:  This property defines the overall status or confirmation
      for the calendar component.

How is the server supposed to know how to handle "omitted" properties?

Should the server assume that property remains unchanged or should the server assumed that property was omitted on pupors? By omitting it, you put the server into guess-mode.
RFC 5545, Section 3.6.2, definition of "VTODO" calendar component:
http://tools.ietf.org/html/rfc5545#section-3.6.2
>     ...
>     ;
>     ; The following are OPTIONAL,
>     ; but MUST NOT occur more than once.
>     ;
>     class / completed / created / description /
>     dtstart / geo / last-mod / location / organizer /
>     percent / priority / recurid / seq / status /
>     summary / url /
>     ...

Maybe back to your original report: If you set the task status to "needs action" this will be send to the server. If no status is set nothing will be send to the server. Therefore this report would be invalid. 

If you want to change the behavior for "mark as not completed" in Lightning you can probably file an enhancement request.
I propose to resolve this report as INVALID agreeing with ssitter (see comment#5).
Comment #5 sounds reasonable, therefore closing for now.
Status: UNCONFIRMED → RESOLVED
Closed: 13 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.