! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Some reminders are not displayed
Status:
RESOLVED: WONTFIX
Severity:
critical

Comments

Description Juebo 2014-05-26 16:13:12 CEST
I am using a global *.ics database with a lot of different calendar programs.

But it seems that Orage does not understand ics.

In example

BEGIN:VEVENT
UID:3c866540-4443-483a-93d8-125ba57eea5f
CLASS:PUBLIC
DTSTAMP:20140526T131312Z
CREATED:20131024T163756Z
LAST-MODIFIED:20140526T131312Z
SUMMARY:Name of Person
DESCRIPTION:Beginn 1961
CATEGORIES:Geburtstag
DTSTART;VALUE=DATE:19610326
DTEND;VALUE=DATE:19610328
TRANSP:TRANSPARENT
RRULE:FREQ=YEARLY
END:VEVENT

is NOT displayed
Comment 1 Juebo 2014-05-26 19:58:37 CEST
I figured out this has to do something with the date
Dates bevore 1970 are not supported
Comment 2 Juebo 2014-06-21 12:22:31 CEST
Created attachment 5530 
Screenshot

Anybody working on this? No?

This bug can not be as big! As you can see, the reminder at 23 June is not displayed in the main events list.

But selecting the "extended" event list and having marked "only first repeating" then the reminder is there! (Without "only first repeating" this won't work).

Well, I am rather going to change my calendar program than changing my database.
Comment 3 Steven Jackson 2014-09-05 12:35:14 CEST
Hello Juebo,

Were you definitely using version 4.10? This should have been fixed by Juho in 4.10 as per https://mail.xfce.org/pipermail/xfce/2013-December/032722.html

I'll try to reproduce this when I get out of work.
Comment 4 Juebo 2014-09-05 20:55:17 CEST
Hi Steven,

yes, my Orage says it was 4.10.0 and apparently Juho did not fix ist.

My Orage ist not from PPA but from Ubuntu repository.
Comment 5 Steven Jackson 2014-09-07 02:50:55 CEST
Hi Juebo,

I'm able to reproduce your issue. It also has a few other odd effects.

The cause appears to be due to locale only having 2 digits for the year. My current fix is to attach a tm struct to the StartDate_button but a little more work needs to be done.

Regards
Steve
Comment 6 Steven Jackson 2014-09-08 22:40:07 CEST
It looks like my suggested work around would have a limitation of the start year having to be >= 1900 which is due to a limitation of struct tm.

It may be worth fixing this once and for all by not using struct tm and also by not passing around dates as i18n strings which can (often?) result in a 2 digit year.
Comment 7 Juebo 2014-09-09 11:54:08 CEST
Hi Steven,
I do actually not know what you are doing. As far as I understand you have to do a calculation like "is <current date> + <look days in advance> greater or equal <startdate>"? Well, there are a lot of good algorithms to perform this (look for "Julian Day"). There are no markable limitations in this algos as perhaps "4000 B.C.". In second question "is appointment day and Month but with calendar year" within my scope" the difference of years does not matter at all.
Comment 8 Steven Jackson 2014-09-09 12:19:46 CEST
Hello Juebo,

You're right about how to calculate and compare dates, unfortunately it's not a case of choosing a reasonable algorithm. I was also expecting it to be a very quick fix like this. I'm very limited on time this month but I'll try and get a fix in soon.

Here's more info if you're interested.

The first limitation I described is due to how Orage currently passes around and converts dates. For example, it converts localized widget text to a tm struct. A localized year can be only 2 digits, so there is no way to tell the difference between 1965 and 2065, or any other century. This problem is easily reproducible, create an appointment on 1st Jan 1965, go to 1st Jan 2065 and it will be there. When you export it, you'll see the DTSTART is 2065. The same problem occurs when you load/import a date which isn't in the current century.

The second limitation is due to struct tm's year member being an offset from year 1900 (see http://www.cplusplus.com/reference/ctime/tm/) and while it's a signed integer and it would seem reasonable to use a negative year to specify years before 1900, it's undefined behavior. This prevents us using strftime/strptime to easily localize dates.
Comment 9 Juebo 2015-03-20 22:42:29 CET
News about this bug:
as I figured out the problem is DTEND tack. When DTEND is before 1970 then this appointment is not displayed. As a workaround I removed all DTEND- lines in ics-file.
Comment 10 Skunnyk editbugs 2019-10-27 18:40:03 CET
The orage project is not maintained anymore and has been archived. Closing bugs.

Bug #10911

Reported by:
Juebo
Reported on: 2014-05-26
Last modified on: 2019-10-27

People

CC List:
2 users

Version

Attachments

Screenshot (48.63 KB, image/png)
2014-06-21 12:22 CEST , Juebo
no flags

Additional information