Warning/Testing request: New alarm system landing tonight

This post is directed at anyone who is using/testing nightly builds of Sunbird or Lightning.

In the next half-hour, I’m going to be landing an over-haul of the alarm system. For those of you who want the gory details (or who want to see how much work reviewing a patch truly takes), please read Bug 315051. This overhaul is intended to solve, among other things, the following problems:

  • Alarms missed while Sunbird/Lightning was closed are not fired when the program is started up.
  • Alarms for ics files do not meet RFC-2445
  • Alarms for recurring events do not work
  • Alarms scheduled more than 6 hours in advance of an event are not fired

In order to make these changes, however, significant changes were needed in a broad range of code areas, including, most critically, the sqlite database. While every effort has been made to ensure that the database upgrade necessary will happen automatically and without any problems, users should back up their profile before using tomorrow’s nightly Also, users should note that using older builds after upgrading may result in dataloss.

How you can help:

The new alarm code currently contains additional debugging code to help get feedback on the effectiveness of the changes prior to the release of Lightning 0.1. The vast majority of this feedback will be provided in the form of console output. Therefore, if you are testing alarms, it is recommended that you run Sunbird or Thunderbird+Lightning with the -console command. The -console command is a commandline argument. These arguments are described in more details here.

Things to look for

  • When starting an updated build of Lightning/Sunbird that previously used the old alarm code, you should notice an output that looks like:
    *** Calendar schema version is: 4
    **** Upgrading schema from 4 -> 5
    Starting calendar alarm service
  • All of your past alarms will fire the first time you run an updated build. Click ‘Dismiss All’ to get rid of them*
  • Whenever Lightning/Sunbird starts up, it will output to the console exactly what it is doing for each alarm that it finds. This includes things like “The alarm has been previously acknowledged.” or “This alarm is too far in the future.” or “This alarm is in the past and has not been acknowledged. Firing now.” If you find alarms misbehaving, posting this information in a bug report will be extremely helpful

Thanks again to all of our testers. Feedback on the new alarms system is greatly appreciated.

*Note: I rather expect there will be issues with firing multiple alarms at the same time. This, however, was beyond the scope of the current bug.

1 comment

  1. Those are exactly the fixes I’ve been waiting for. I’ll try it out.