View Single Post
gidzzz's Avatar
Posts: 282 | Thanked: 2,387 times | Joined on Sep 2011
#158
Originally Posted by deryo View Post
Did I misunderstand anything? Or is there an error in reasoning?
Some details are wrong, but you are right about the root of the problem.

Originally Posted by deryo View Post
The attached file can be imported to e.g. eM Client. (Rename to .ics!) It shows the behavior of a "floating time" event: It occurs on a different time when DST is active/inactive.
"Floating" means not bound to any time zone, so floating 20:00 will always be 20:00, no matter if DST is in effect or if you travel around the globe (BTW: calendar-backend does not seem to support that concept).

Originally Posted by deryo View Post
When I export the whole calendar via qalendar that event does not have any time zone information. If I understand the RFC regarding time zone identifiers correctly this is not allowed unless you want it to be a "floating time" event.
But the attached file (and it appears to be the same for all files exported by calendar-backend) does have time zone information. That information is the "Z" at the end of a DATE-TIME value, which means it is UTC and "TZID" is then forbidden. The time of the event in the attached file varies between DST and non-DST in your time zone because DTSTART is specified in UTC and according to RFC 2445/5545:
Information, not contained in the [recurrence] rule, necessary to determine the various recurrence instance start time and dates are derived from the Start Time ("DTSTART") component attribute.
which means that recurring instances should also be in UTC and, as opposed to your time zone, there is no DST in UTC.

Originally Posted by deryo View Post
I guess it's possibility no. 2 because in the exported calendar before each BEGIN:VEVENT is a BEGIN...END:VTIMEZONE. The only problem is that the timezone is not used within the VEVENT.
This is right. calendar-backend should use local time and TZID with a reference to VTIMEZONE instead of UTC format.



Originally Posted by acrux View Post
Just noticed one strange thing about recurring events. I have an monthly event on it's every first Wednesday. So I created an event repeating monthly, interval 1, Forever, By day of week: Wed, By day of month: From beginning: 1 2 3 4 5 6 7. The event is now displayed correctly on every month's first Wednesday except when the Wednesday is the first day of the month - in that case it is not displayed by some strange reason. To check it further I created an test event that should repeat at every Wednesday 1st (like that Friday 13th rule in first post) and it just does not repeat at all... Any ideas? Bug?
This looks like a bug to me, and just like with deryo's report, not caused by Qalendar, but by calendar-backend. You can work around this by simplifying your rule to explicitly say "every first Wednesday". Set the rule to "FREQ=MONTHLY;BYDAY=1WE" (use the plus button under the Wednesday button).



I have been planning a code review for calendar-backend for a long time, because when working on Qalendar I have stumbled upon more bugs than just the two recently reported, but after investigating various peculiarities of calendar-backend along the way I came under the impression that the code is a mess and I am not eager to touch it, so I do not know when and if I will be doing this... but the issue reported by deryo shows that exported recurring events are terribly broken and it would be really nice to have it fixed.

Meanwhile, there is a small update for Qalendar, 0.9.6:
  • Swipe left/right in the event window for next/previous event.
  • New translation: Slovenian by sponka.
  • Updated translations.
__________________
My Thumb mini-repository: http://gidzzz.mooo.com/maemo/.
 

The Following 15 Users Say Thank You to gidzzz For This Useful Post: