TODO list for port of Gene Cash's PIM apps to OS 2008

Todo

Generally, higher priority items closer to the top...

bug confirmed: no calend todos on 2008-04-20 went into to_do app. Likely that calend did not wake up at midnight for normal housekeeping. Appears that the only time it processes todos is at the midnight wakeup. Possible fix: calend checks all todos that have not been processed since the last time and prcoesses them. It stores something in its persistent state marking the todos as processed. Then it will be more robust to missing a midnight wakeup. On the very first run of this new function, it should only mark that it is caught up to that day instead of attempting to process todos going back months or years. Appears that calend relies on a separate alarmd callback for each to_do to be processed. The todo events for the upcoming day are set in set_alarms() and processed in alarm_callback(). Appears that somehow the todo alarm events are not always being set, or possibly not always called back via alarmd. Perhaps the problem with calend not always starting correctly is happening when alarmd initiates a calend startup. Est: 5 hours. 2008-04-22: 45 min. 2008-04-24: 45 min. 2008-04-28: 1.5 hours

bug confirmed: sometimes calend fails to completely start. Was reproducing this when adding a new todo entry in calend, closing calend, and then opening it. The "Loading Calend" popup appeared, but it never opened. ps aux confirmed the process was not alive. Launching it again seemed to work. This may be related to the problem of calend not properly pushing todo entries to to_do. Perhaps calend doesn't always start correctly when opened by alarmd. I can reproduce a problem with starting calend by launching it and setting a regular event with an alarm that is the next event to occur. I then close calend. When I reopen it, the pop-up says "starting Calendar" but it never starts. Then second time I open it it works. Appears that none of the python code is getting called when this happens, so it's possible the python interpreter is never started. It is harder, but not impossible, to make the problem happen when dbus-monitor --system is running. Also interesting to note that the problem occurs when using either personal menu or the standard hildon menus to launch calend. I didn't see it occur when starting calend from the command line, but didn't try many times. 2008-05-05: 1 hour

bug confirmed: calend ends one day too soon in weekly repeat for wednesday with "until" checked. Need to check if other types of repeats, other days, etc. have similar off-by-one problem. Est: 5 hours

bug confirmed: calend cannot import Google iCalendar files. Root cause appears to be that calend is not timezone aware. "can't compare offset-naive and offset-aware datetimes" in line 133. Est: 8 hours. 2008-04-24: 1 hour.

bug confirmed: calend alarm setting sometimes shows 23 hours instead of 0. Doesn't seem to affect when the alarm actually goes off. Est: 2 hours

show end time of events in calend. Est: 2 hours

display current day name in calend Day view. Est: 3 hours

bug report: alarm not reliable. created non-repeating event a few minutes in the future and missed 2 out of 4 tries. Problem occurred on OS2008 2.2007.50-2.

bug report: added an event in calend for September 2009, it said "populatiing date cache" and it was not displayed. It exported from calend but still wouldn't display.

when altering or deleting a repeating event, calend should ask if the alteration is to be done to all instances of that event, only the previous instances (including the current), only the current event, or only the following instances (including the current). Est: 8 hours

calend should display overlapping events better. Est: 8 hours

bug confirmed: to_do doesn't seem to save its data properly in all cases when items are checked off. Est: 3 hours.

add priority to to-do. Est: 4 hours

add due-dates to to-do. Est: 4 hours

add iCalendar import/export to to-do. Est: 4 hours

migrate my own todos from GPE to to_do. Est: 2 hours

get .install file repo functionality working on this website

search feature in calend

to_do options to show all todos and to vary the sorting order

bug confirmed: Info on Tap creates empty rows in new tables. Appears to create the same number of empty rows as total rows in the previous table that was being viewed when the menu item for "New Table" was selected.

time format display preference for calend

bug report: in a locale with 24-hour time preference, calend still shows 12-hour times but no AM/PM indicator.

improve robustness of app data stores. Keep previous file around during save to lessen problem if app crashes while saving new file.

voice alarm feature: when setting an alarm, can press a record button and record a voice memo related to the alarm. Can press stop on the record feature when finished. Then when alarm goes off, first device plays standard alarm, then the voice memo. Also option (at alarm set time) of repeating the voice memo. Very cool if device could stop the alarm sounding by recognizing the user saying "stop".

bug confirmed: events with start time before 12:00am and 1:00am show up as "today" (all day) events.

bug confirmed: repeating alarm in calend makes alarm applet show up. However, when it is clicked nothing is shown. Might be an alarm applet problem or a problem with the way calend is setting the alarms in alarmd.

bug report: hissing noise when calend does midnight wakeup which is different from normal app startup noise.

home screen agenda display for calendar and/or todo data. Possibly borrow code from HomeIP and HomeCPU stuff since they are transparent home apps in python.

bug confirmed: Spend It display issues. Looks like checked off and crossed-out items don't always display as such.

bug report: Finnish month and day names on UK n810 running 2.2007.51-3

bug report: finger keyboard not working in to_do and calend

bug report: calend resetting home screen applets at midnight. Discussion of possible alarmd issue.

possible newline escape issue on iCalendar export from calend.

calend and todo should behave better when started via dbus. They should not pop up the GUI in that case and exit when finished servicing the dbus message. Goes along with confirmed bug: creating new event in calend causes todo app window to pop up in front. This only happens when todo app is not already running. Probably caused when calend fetches category info from to_do app. to_do app probably needs to know not to maximize itself in that case. Appears that when to_do is started directly, it receives a dbus message with method "top_application". When it is only started to get the list of categories, it does not receive that message, and only receives the "list" method message. Should be possible to have it start in a state without its window showing and then plan to shut itself down unless it receives the top_application message. If it receives top_application, then it displays its window and cancels its pending shutdown.

encrypted backend for Info on Tap using gpg... could possibly use as a password manager. use gpg --passphrase-fd and run gpg through stdin and stdout so decrypted file doesn't touch disk directly. Still possible to end up in swap file.

better import/export with the possibility of supporting syncing via opensync.

separate summary and description boxes in calend with optional description display in some more cases?

week start preference for calend

to_do, info on tap, and spend it should disable the save timer when the data store is up-to-date to save a little more power. The timer should only be active when the data store has been modified. See calend for how to do this.

allow setting either end time or duration of events in calend

bug confirmed: calend uses 'ALARM_COOKIE' field in exported iCalendar files instead of something more proper like 'X-GENECASH-ALARM-COOKIE'. Additionally, it would be better to have the alarm cookie represented as part of the VALARM instead of as part of the VEVENT. TODO_COOKIE should also be changed, though that probably doesn't belong in VALARM.

bug confirmed: to_do does not automatically update the main screen when the displayed category is renamed. This seems to be a minor display bug which requires the user to select a category to display.

Done

2008-04-15 port Spend It

2008-04-15 port Info on Tap

2008-04-16 get calend import/export working

2008-04-17 bug confirmed: calend breaks when importing empty description field on splitlines()[0]

2008-04-20 bug confirmed: calend error on weekly repeat for non-english locale. Apparently it is expecting English weekday names somewhere in the code and receiving localized, non-English names. Actual: 1 hour

2008-04-28 bug confirmed: to_do loses all items in category when the category is renamed. Other strange behavior reported when category renamed. Est: 1 hour. 2008-04-28: 1 hour.

2008-04-24 calend only sets a 10-second save timer when data actually changes. This should improve stand-by battery life when the app is open.

2008-04-28 to_do only sets 10-second save timer when needed, similar to calend. Should improve standby battery life.

2008-04-28 to_do calls save_data() when new item auto-added from calend. Should help improve robustness against losing these items.

Abandoned

bug report: calend not creating linked to-dos. I saw this feature work correctly at least once. A new todo was placed in the todo manager by calend at midnight as expected.