Closed Bug 331112 Opened 18 years ago Closed 13 years ago

RFC description of WKST does not appear to be followed

Categories

(Calendar :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: thesynack, Unassigned)

References

Details

(Whiteboard: [not needed beta][no l10n impact][feedback?])

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060226 Debian/1.5.dfsg+1.5.0.1-3 Firefox/1.5.0.1
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060226 Debian/1.5.dfsg+1.5.0.1-3 Firefox/1.5.0.1

Using this nightly build of SunBird:
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20060318 Mozilla"

With the sample event at the bottom provides problems with use of WKST.

According to the RFC:
http://www.ietf.org/rfc/rfc2445.txt
"The WKST rule part specifies the day on which the workweek starts.
   Valid values are MO, TU, WE, TH, FR, SA and SU. This is significant
   when a WEEKLY RRULE has an interval greater than 1, and a BYDAY rule
   part is specified. This is also significant when in a YEARLY RRULE
   when a BYWEEKNO rule part is specified. The default value is MO."

In the bottom sample, the WKST is set to be WE, and an event starts on TU, and is a weekly event with days selected, and an interval of 2 taking place over a 3 week period.

W


It appears that SubBird is using WKST as MO, and is ignoring the WKST from the imported event.

Also, though the INTERVAL=2 seems to be respected, I do not see an "interval" option when editing the event in SunBird to change it from every other week to every week or every 3 weeks.

Also, it appears as though the final TU is missing-- but that probably has to do with SunBird assuming WKST is MO instead of the specified WE.

Perhaps I've got something wrong with the import.

RFC also provides and example of how WKST should work:

"An example where the days generated makes a difference because of
   WKST:

     DTSTART;TZID=US-Eastern:19970805T090000
     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO

     ==> (1997 EDT)Aug 5,10,19,24

     changing only WKST from MO to SU, yields different results...

     DTSTART;TZID=US-Eastern:19970805T090000
     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
     ==> (1997 EDT)August 5,17,19,31
"


BEGIN:VCALENDAR
METHOD:REQUEST
PRODID
 :-//Event Export Tool//NONSGML Calendar genics.php//EN
VERSION
 :2.0
BEGIN
 :VEVENT
DTSTAMP
 :20060314T073413Z
SEQUENCE
 :1
UID
 :1.0.33.defconforums@gmail.com
ORGANIZER
 :MAILTO
 :InvalidEmail.DC-Forum.UserID.4000.defconforums@gmail.com
ATTENDEE;RSVP=FALSE
DTSTART
 :20000127T113000Z
DTEND
 :20000127T143000Z
RRULE
 :FREQ=WEEKLY;INTERVAL=2;WKST=WE;BYDAY=SU,TU,TH,SA;UNTIL=200002
 15T113000Z
CATEGORIES
 :Projects
CLASS
 :PUBLIC
SUMMARY
 :Recurring jan 26-Feb15 2006 - weekly - every other week - 
 STHS - 330-630
DESCRIPTION
 :Recurring jan 26-Feb15 2006 - weekly - every other week - 
 STHS - 330-630
LOCATION
 :my location field
STATUS
 :TENTATIVE
END
 :VEVENT
END:VCALENDAR


Reproducible: Always

Steps to Reproduce:
1. Import the above event.
2. Compare how WKST=WE should cause that range to work with the way SunBird represents it
3. Profit!

Actual Results:  
What we actually see:
        SU  MO  TU  WE* TH  FR  SA
Week 1:                 TH      SA
Week 2: SU      
Week 3:         TU      TH      SA
Week 4: SU

Expected Results:  
What we should see is:
        SU  MO  TU  WE* TH  FR  SA
Week 1:                 TH      SA
Week 2: SU      TU
Week 3:                 TH      SA
Week 4: SU      TU

Screenshots can be built if desired.

Feedback welcome. Perhaps I am doing something wrong.
*** Bug 359131 has been marked as a duplicate of this bug. ***
The duplicate bug is confirming this issue. 
Note that there is a sample ics file attached to bug 359131 to help testing/debugging.
Some comments regarding this file:
the event behaves different after import compared to creation (following the steps in bug 359131 comment 3).
If you create the event, it is shown on Sunday 5th, but not on Monday 6th. It is shown on Monday 27th and Sunday 3rd (December). If you export and reimport the event, it is shown on Monday 6th and Sunday 12th and Monday 4th (Dec) and Sunday 10th (Dec), so everything shifted by one week.
Status: UNCONFIRMED → NEW
Ever confirmed: true
We've upgraded libical between 2006 and now. Sebastian, thesynack, could you test if this still happen with the latest 1.0b2pre nightlies?
Whiteboard: [feedback?]
Flags: blocking-calendar1.0+
Whiteboard: [feedback?] → [not needed beta][no l10n impact][feedback?]
Any updates on this?
I've tested this and it now works as expected in comment 0. thesynack, thanks for your elaborate bug report and sorry it took 5 years for this bug to be closed ;-) The bug was somewhere in libical and we usually try to prefer bugs that we can fix in our code (I'm not saying thats a good thing, just how it is)
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.