23
Feb 06

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.


13
Feb 06

Status update (13 Feb)

The following bugs have had fixes checked in since the last status update. Additionally, a substantial amount of code-restructuring was done that included removing obsolete files from the CVS repository as well as beginning our migration towards a better localization structure.

  • Bug 324849 – (Both) Check to see if a remote calendar has been modified before uploading changes
  • Bug 295387 – (Both) Day/Week views do not show all-day events
  • Bug 326003 – (Both) Localization restructuring
  • Bug 324665 – (Lightning) New events do not appear until the view has been refreshed.
  • Bug 319790 – (Both) Add a way to calculate a week-number from a date. (Fixes the ‘Week 0’ bug)
  • Bug 312830 – (Both) Add a scrollbar in the month-view for when more events are present than can be shown
  • Bug 325459 – (Both) Month view’s relayout can occassionally fail
  • Bug 323776 – (Lightning) Make sure Lightning only installs in the versions of Thunderbird it was designed for
  • Bug 326335 – (Lightning) Deleted calendars don’t disappear from the list until it is refreshed
  • Bug 325592 – (Sunbird) Fix build problems on the MOZILLA_1_8 branch
  • Bug 326268 – (Sunbird) Use the new week-number calculation service in the multiweek view too
  • Bug 326390 – (Both) Completed dates for tasks are not saved
  • Bug 326331 – (Both) For new events, the event-dialog should default to the selected calendar, not the first one
  • Bug 304084 – (Both) All day event gets changed to previous day when editing
  • Bug 326653 – (Lightning) Can’t select all day events in week/day view
  • Bug 326287 – (Both) Change default event background to a lighter, easier to read color
  • Bug 326787 – (Both) Events spanning multiple days can sometimes mess up the day/week view
  • Bug 321693 – (Sunbird) ‘Number of Weeks’ option for the multiweek view is always disabled
  • Bug 326794 – (Sunbird) Localization restructuring
  • Bug 320869 – (Sunbird) CVS restructuring
  • Bug 322060 – (Sunbird) The first day in the multiweek view should show the month as well
  • Bug 321560 – (Sunbird) For people east of GMT, the wrong day is selected when using the minimonth
  • Bug 325701 – (Both) Do not display a time for all day events in the month/multiweek views
  • Bug 326439 – (Lightning) make the default calendar name (‘Home’) localizable
  • Bug 298373 – (Both) Prompt users before deleting a calendar
  • Bug 326132 – (Both) For users east fo GMT, all-day events sometime falsely trigger a ‘Start time after end time’ warning.
  • Bug 321383 – (Sunbird) Multiweek view boxes appear in weird colors.
  • Bug 322059 – (Both) Current year not visible in month view.

Thanks again to all of our testers and bug reporters, as well as to everyone who submitted patches for these bugs. Keep up the good work!


04
Feb 06

Status update (4 Feb)

I know it’s only been 5 days since the last update, but a lot of patches have landed since then. I thought it would be more useful to get this information out now, so our testers know what to be looking for.

The following bugs have had patches checked in since the last update:

  • Bug 325476 – (Both) Occassional crash caused by alarm service starting so early in the startup sequence
  • Bug 321546 – (Both) Enable inline editing in the month/multiweek views by making all items inherit from a base class.
  • Bug 324669 – (Lightning) Clean up ‘New’ menu options in Thunderbird’s ‘File’ menu
  • Bug 325140 – (Lightning) Make Lightning compatible with the new Thunderbird searchbox location (from Bug 324194)
  • Bug 325337 – (Lightning) Fix regression from Bug 325140
  • Bug 270995 – (Both) Don’t factor in exceptions to recurrence rules until after the normal rule is calculated
  • Bug 325325 – (Both) Fix documentation on return types for calIOpertationListener
  • Bug 298349 – (Both) Events that span more than 1 day only shown on the first day in month/multiweek views.
  • Bug 324028 – (Both) In day/week view, events lasting more than 1 day aren’t shown on the last day if their end-time is before their start-time
  • Bug 325476 – (Lightning) The list of calendars doesn’t immediately refresh when adding/deleting calendars
  • Bug 324633 – (Sunbird) Error importing all day events from Outlook
  • Bug 165963 – (Both) Make sure all possible ways of creating events put the event in the (guessed) system timezone
  • Bug 325762 – (Both) New recurrence dialog has units for COUNT property, but these units are ignored.
  • Bug 325354 – (Both) Snooze button for alarms doesn’t work
  • Bug 313615 – (Both) Automatically close the alarm window when the last alarm in it is dismissed

The new views regression bug still contains several open bugs. Additionally, the following Sunbird regression was identified:

  • Bug 325786 – (Since new dialog landing) Recurrence dialog does not contain a way to add exceptions to recurring events.

30
Jan 06

Status Update (Jan 30)

The following bugs have had fixes checked in for them since the last Status Update.

  • Bug 189416: (Sunbird + Extension) View commands should be type=radio and should work with ‘checked’, not ‘disabled’. Remove view options from the context-menu.
  • Bug 305577: (Lightning) Lightning prefs tab has 8 icons
  • Bug 315307: (All) Make remote calendar location readonly to prevent really painful failure mode.
  • Bug 320175: (All) Can’t delete event from keyboard in new month view
  • Bug 321769: (All) Make day + week views respect default start and end time preferences
  • Bug 323321: (All) Drag’n’drop of events via right mouse button confuses the views
  • Bug 324286: (All) Creating tasks/events via double-click does not work.
  • Bug 324312: (All) Make event dialog resizable
  • Bug 324417: (Lightning) Lightning does not have a ‘Go to Today’ toolbar button or menu item.
  • Bug 324735: (All) Remove some references to obsolete calIItemOccurence interface.
  • Bug 325141: (All) Fix for typo: this.mProperties.enumerator.

The checkin of the two UI synchronizations (event dialog and publishing dialog),
that we talked about in our last status update has gone very smoothly and only
one regression (Bug
324312
) has been identified.

The new views regression tracking bug still has several bugs open on it. But the list
is getting shorter. Other than that, there are no known regressions in Sunbird and
only one known regression (Bug
323477
in Lightning.


21
Jan 06

Status Update (21 Jan)

It’s been a busy week for the Calendar developers. Lots of good bugs have been fixed, and 2 important patches were checked in that help to unify the front-end code used by both Lightning and Sunbird.

First, Sunbird and Lightning now share the same code for their ‘Publish’ dialogs. This UI sync allowed us to remove the ‘Default Publishing Address’ preference from Sunbird. The dialog will remember the last address you typed in for each calendar and automatically fill that in for you the next time you try to publish that calendar. Thanks to Stefan Sitter for putting in the work on these bugs.

Secondly, Sunbird and Lightning now share the same dialog for creating and editing events and tasks. The new dialog is based off of the previous code for the Lightning dialog. The Sunbird dialog was removed. Thanks here go out especially to Mike Connor and Mike Beltzner, Mozilla’s UI gurus, for helping us design what we think you’ll find to be a much more intuitive and easy to use dialog. (It’s also loads about 20-30% faster.)

We need your help to try and track down any regressions that these UI sync patches may have caused. Should you find such a regression, please file it as a new bug, but make it block the bug that created the UI sync. In the case of publishing this is Bug 323183 and for the event/task dialog, this is Bug 296893.

Full list of bugs fixed since the last update:

  • Bug 323183 – (Both) Unify publishing code between Sunbird and Lightning
  • Bug 296893 – (Both) Unify event/task dialog code between Lightning and Sunbird
  • Bug 322760 – (Sunbird) Connection settings pref window use wrong text
  • Bug 307685 – (Sunbird) Shrink Sunbird (and Calendar extension) download size
  • Bug 323273 – (Lightning) (regression fix) Context menus don’t appear for events in the views
  • Bug 321133 – (Sunbird) Preferences/Options should appear in the correct menu based on OS
  • Bug 323180 – (Both) Publish Remote Calendar should remember the last location used
  • Bug 323288 – (Sunbird – Mac only) Sunbird sometimes intercepts webpages that Firefox should load.
  • Bug 298349 – (Both) Events spanning multiple days only shown on the first day in day/week views
  • Bug 319557 – (Sunbird) Introduce support for hCalendar, use this when exporting as HTML (also improves printing output somewhat)
  • Bug 323665 – (Sunbird) Regression fix from Bug 307685
  • Bug 323809 – (Both) Regression fix from Bug 298349
  • Bug 321913 – (Both) Alarms don’t fire for people in GMT+6 or later timezones
  • Bug 322917 – (Sunbird) (new views regression fix) Category colors don’t work in day/week view
  • Bug 323731 – (Sunbird) Remove publishing preferences page
  • Bug 315959 – (Both) Improve speed for loading ics files
  • Bug 323976 [Security Fix]
  • Bug 321381 – (both) (new views regression fix) Views are not fully localizable
  • Bug 299847 – (Lightning) Alarm window will only pop up once per session

The new views regression tracking bug still has several bugs open on it. Other than that, there are no known regressions in Sunbird.
Bug 323477 has been identified as a Lightning regression as well.


12
Jan 06

Status Update (12 Jan)

The following bugs have had fixes checked in for them since the last Status Update.

  • Bug 319701 – (Both) Move Lightning to the decorated views and tidy up some flex/resizing issues
  • Bug 321898 – (Both) Right-clicking on minimonth also displays dropdowns instead of just context menus
  • Bug 293192 – (Lightning) Make sure clicking on a folder in the tree always returns to mail-view
  • Bug 322230 – (Both) Add a service to return datetimes into various ‘pretty’ formats
  • Bug 322272 – (Both) Disable the R button until view rotation works better
  • Bug 322859 – (Both) ‘Organizer’ property lost when items are cloned/edited
  • Bug 281935 – (Sunbird) First step towards a better localized build story
  • Bug 322095 – (Sunbird) Allow selection of single instances of repeating events
  • Bug 306692 – (Sunbird) ‘Open calendar file’ does nothing.
  • Bug 323057 – (Both) Fix javascript warnings in the new views
  • Bug 321563 – (Both) Day and week view don’t always show early events

There are still several bugs open on the new views regression list. Other than that, there are no known regressions in Sunbird. One of these bugs, Bug 321769 is also a regression in Lightning.


07
Jan 06

Calendar extension for Firefox 1.5 and Seamonkey 1.0beta

Calendar developer Mostafah Hosseini has released an experimental Windows build of the Calendar extension for Mozilla Firefox 1.5 and Seamonkey 1.0 beta. You can find it on our download page. Please note that this is an experimental build may still contain some bugs.

At the moment there is no Calendar extension available for Mozilla Thunderbird 1.5 RC2, but we hope to have the extension and a version of Lightning ready once Mozilla Thunderbird 1.5 is released.


06
Jan 06

Calendar-code synchronised with the Mozilla 1.8 Branch

Yesterday evening all calendar-related code from the trunk was synchronised with the MOZILLA_1_8_BRANCH code branch by Dan Mosedale.

This will allow us to build versions of Lightning that work with Thunderbird 1.5 and it will give everyone who is building from the branch an up-to-date Calendar extension, if they’ve built with the –enable-calendar build-option.
Additionally, we’re in the process of getting some Tinderboxen up and running (thanks Chase!) at http://tinderbox.mozilla.org/showbuilds.cgi?tree=Sunbird-Mozilla1.8.

In the not-too-distant future, there should be some sort of server-based mechanism (as per bug 322260) that we can use to automatically sync trunk checkins to mozilla/calendar to the branch. Until that mechanism arrives every developer will commit to CVS using Myk’s cross-commit tool for
committing to mozilla/calendar.

The idea would be that development and testing would continue to happen as per usual on the trunk, but that we’d try and fix any lossage that the cross-commits did to the branch ex post facto.


29
Dec 05

Browser Calendaring Integration

One thing we didn’t do when posting about the status of the calendar extension XPI was explicitly say what our browser strategy would be. This has become more of an issue since the release of Firefox 1.5, as people who have upgraded from Firefox 1.0x no longer have the option of using calendar.xpi.
We do care about having a good calendaring integration story for the browser, but we’re still trying to figure out what we think that should be. One way of looking at it is that there are really a couple of pieces here: one involves supporting calendaring on the web (e.g. good hCalendar & ICS handling, other integration hooks for HTML calendaring software); the other is for full-fledged calendar management (a la Lightning or Sunbird).
One possible solution for the calendar management piece might be to support Lightning in Firefox. Another option would be simply to have good linkage and handoff to Sunbird (or whatever your system calendar app happens to be). Or perhaps the management/web split suggested above is not the best one, and there are other, better ways to handle these issues. Please feel free to comment with suggestions and thoughts.
In any case, we’ve started thinking about and discussing these things, but we probably won’t be able to put enough time into this to lay out a real roadmap until after Lightning 0.1 ships. In the meantime, we’d like to suggest that folks who have been using the calendar extension consider using Sunbird, either version 0.2 or version 0.3 alpha 1, depending on your level of risk tolerance. Additionally, if you are currently a Firefox Calendar user and like that setup so much that you’re not willing to switch to Sunbird, we’d like to hear about why that is. Please leave comments…


29
Dec 05

Status Update (29 Dec)

The following bugs have had fixes checked in for them since the last Status Update. Due to the landing of the ‘new views’ you should hopefully start to notice more ‘Both’ bugs being fixed than before, since Sunbird and Lightning now (almost) share their view-code.

  • Bug 320823 – (Sunbird) Missing preference makes themes unusuable
  • Bug 297934 – (Sunbird) Make Sunbird use the new views
  • Bug 306188 – (Sunbird) Task list context menu options disappear when first clicking the minimonth
  • Bug 315719 – (Both) Events with neither DTEND nor DURATION handled incorrectly (end-date shows as 1 Jan 1970)
  • Bug 315960 – (Both) Improve performance times for redrawing/moving the (new) month/multiweek views
  • Bug 315962 – (Lightning) No icons shown for Lightning buttons in TB’s Customize Toolbar window
  • Bug 298352 – (Lightning) Allow users to specify the first day of the week in preferences

In addition, the following regressions from the new-views landing have had fixes checked in:

  • Bug 321413 – ‘Extensions’ and ‘Themes’ windows do not show up due to extraneous debugging code
  • Bug 321375 – Context menus for the views do not appear.
  • Bug 321535 – Right clicking and selecting ‘New Event’ doesn’t always give the right default date.
  • Bug 321378 – JavaScript error when adding/modifying an event before all views have been shown.
  • Bug 315955 – The Month/Multiweek views display the incorrect times for events (also a Lightning 0.1 blocker)

It’s probably also important to point out that the landing of the new views simultaneously fixed a large number of outstanding bugs. Searching for all of these bugs is somewhat difficult, but this list should give you a good idea of them.

There are still currently 18 identified regressions from the new views landing (6 of these have patches awaiting review). This list of bugs can be viewed here. Additionally, the following regression has appeared in Sunbird since 0.3a1 was released:

  • Bug 320266 – Many “Failed to load XPCOM Component:” info bubbles in the js-console when starting a new profile.