30
Jan 08

Lightning/Sunbird Status Update (January 30)

Another week has gone by and another 12 bugs have been fixed in the last few days. There was nothing particularly interesting this time, just the usual bug-fixing and polishing going on.

Here’s the complete list with all the 12 bug fixes:

  • Bug 386432: Unify front-end code of Lightning and Sunbird (Part 2: Toolbar consolidation)
  • Bug 388656: DATE values must not specify a TZID
  • Bug 401720: Can’t add event to calendar from invitation if multiple calendars exist
  • Bug 406372: Provide easier access to prodid, prodversion
  • Bug 406441: make it possible to build lightning as universal package
  • Bug 412478: Lightning removes Open Saved Message… command from File menu
  • Bug 413214: Remove alarm image if suppressAlarms is true
  • Bug 413291: CalDAV-sched freebusy interop with Bedework
  • Bug 413516: Unifinder shows only the last modified event
  • Bug 413620: Unify/cleanup navigation menu in all modes
  • Bug 413656: Future events/tasks are reported to be ‘today’ in alarms
  • Bug 414230: Restart required for ‘Workweek days only’ and ‘Task in View’

Thanks again to all our developers, contributors, localizers, testers, and supporters.


26
Jan 08

Important bugfixes in the last week – Part 2 (front-end)

As mentioned in Wednesday’s status report a lot of last week’s bugfixes fix important or longstanding issues and deserve special attention. In the first part on Thursday I already described the most important fixes with regards to performance and the calendar backend. Today comes the 2nd part, where I’ll describe the more user-facing changes in the front-end in more detail. Of the four important fixes, three apply to Lightning’s new task mode, which was got quite some polish in the last few days. Now let’s get down to business:

  • Bug 257428: use alarms? — preference on a per-calendar basis
    The ability to work with many different calendars is definitely a strong point of Lightning and Sunbird. In the past however, if you were subscribed to a calendar of one of your friends, working with different calendars could become rather annoying, because alarms for events in your friends calendar would also be displayed in your installation – whether you wanted to know about it or not.

    Thanks to Sebastian Schwieger this is now a thing of the past, because now you can enable/disable the display of alarms for every calendar that you are subscribing to. Thanks go also to Philipp who reviewed the patch.

  • Bug 408798: Optimize Menu Structure for Task Mode
    With this patch the task mode in Lightning now offers a menu structure, which is more focussed on task-related features. Before that patch went in we were using the same menu structure in task mode and calendar mode, which is clearly bad from a UI perspective as the two modes have different characteristics. The next step in the coming weeks will be restructuring of the task mode toolbar to make it also more focussed on task-related features.
    Thanks go to Berend for the implementation, Christian for the initial design and to Mickey for the review.
  • Bug 411497: Task mode should offer some sort of filtering
    The event list in Lightnings calendar mode offers the possibility to filter the list of events which should be displayed. A similar feature was lacking in task mode. As of now, you have the ability to filter the list of tasks in the left-hand sidebar in task mode. The selection of filters offers stuff like today’s tasks, overdue tasks, completed tasks, etc.

    Thanks to Mickey for his implementation and to Berend who reviewed the patch.

  • Bug 411498: Task mode details pane doesn’t show enough details
    Until now the task mode was a pretty bleak place. The lower “detail pane” would only display the task title and the description text. With Mickey’s new patch (and Berend’s review) many more details like priority, start date, due date, category, state of completion, recurrence, etc. will now be shown as well, giving you a much better picture on your current tasks.

I hope you are as excited as I am. With all this new stuff the upcoming 0.8 release is going to rock. Stay tuned for more!


24
Jan 08

Important bugfixes in the last week – Part 1 (backend and performance)

As mentioned in yesterday’s status report a lot of last week’s bugfixes fix important or longstanding issues and deserve special attention. This is the first part (of two) describing those important fixes in more details. So let’s get down to business:

  • Bug 323011: Unifinder default option should not be ‘all events’
    When working with larger calendars our startup time was pretty horrible. One major cause of this was “Event List” (aka unifinder), which by default would display all events of all activated calendars. This can of course take some time, especially if you have a lot of larger calendars.

    What we did to fix this is look at how people use the unifinder. We noticed that most people seem to use it to look at the events of today or maybe the next few days, but not the events of two years in the past. So from now on, the unifinder will only display today’s events by default. You can of course still configure it to display other timeranges. Thanks go to Philipp for implementing this and to Daniel for his review.

  • Bug 328996: guessSystemTimezone doesn’t take northern/southern hemisphere into account
    When you start Lightning or Sunbird for the first time, it tries to guess in which timezone you are working. In the past our algorithm for doing this did a poor job in some cases. While it would normally guess the time offset correctly (e.g. if you were living in central Europe, it would guess that you were in GMT+1), it did a poor job on guessing your real location. This sucks, because if you are living in Germany and Sunbird thinks that you are working in Algeria, then stuff like daylight savings time wouldn’t work correctly. In addition other places in our app sometimes got confused if your configured timezone in the application was different from your system timezone.

    This bugfix should fix 99% of all those issues. We believe that it will drastically improve the reliability of Sunbird’s or Lightning’s time reporting and will also reduce support questions. Thanks go to gekacheka for providing the patch and to Clint for reviewing it.

  • Bug 393395: Offline Support infrastructure: Synchronization interfaces
    In the past if you were working with remote calendars, you could only use Lightning or Sunbird when you were online. With this patch we’ve made the first step into the world of offline support. Please note that the current state of offline support is still considered experimental. But it should already work in most cases. Thanks go to Daniel and Philipp, who implemented and reviewed this.
  • Bug 402518: Enhance storage provider to store foreign timezones
    The issue that this bug fixes is probably the most reported bug for Lightning and Sunbird to date. Until now, our apps would not recognize the timezone definitions in an .ics file, that had been created by other apps (like Outlook, iCal, Evolution, etc.). The effect was, that our apps would go berserk and simply assume that the timezone would be GMT (Greenwich Mean Time) or that there was no timezone mentioned in the imported file at all. That lead to events being displayed at the wrong time. A pretty serious issue for a Calendar application to be honest.

    This bugfix should fix this issue once and for all. However timezones are a delicate thing and it’s easy to miss someting. Therefore we could need some help in testing current nightly builds, so that we’re not in for a big surprise once 0.8 is released. Nevertheless we believe that it will drastically improve the reliability of Sunbird’s or Lightning’s time reporting and will also reduce support questions. Thanks go to Daniel for fixing this beast, that has plagued for such a long time and to Clint for reviewing the patch.

  • Bug 408727: Monthview is slow in sorting events
    In the past we have heard some reports of Lightning or Sunbird being slow with larger calendar files. We are currently investigating the roots of the performance issues. One of the first results of this investigation is this patch. We noticed that we were doing unnecessary complex calculations when building up the month view to display a calendar. While this fix alone will not suddenly make the app Lightning-fast, the positive effect should still be noticeable. Thanks go to mvl for providing the patch and to Mickey for reviewing it.
  • Bug 411690: Avoid unifinder startup load
    This is another case of us doing unneccessary work. In the past we would always update and refresh the unifinder, regardless of whether it was displayed or hidden. From now on, we will only update and refresh the unifinder when it is active. So if you don’t use it at all or only sometimes, we will use the cycles of your computer more effectively. Thanks go again to Philipp for implementing this and to Mickey for reviewing the patch.

That’s it for today. Tomorrow I’ll present to you our recent improvements in the front-end and the UI. Stay tuned!


23
Jan 08

Test day TOMORROW, Thursday, January 24th

Our next test day will be on Thursday, January 24th. It will be a general test day in preparation for the 0.8 release of Lightning and Sunbird. The last two weeks have brought us many bugfixes (see the status report from today and the 14th and we need your help now to spot any possible problems that resulted from them.

Areas we want to test are the Task mode & Today pane and all kind of menus & keys in Lightning. For testing our new features, the experimental offline cache and initial timezone guessing, please have a look at the Test Day Wiki Page for instructions.

We suggest that you try a mix of Litmus and ad-hoc testing this time. Ad-hoc testing is testing where you attempt to use the product like a “normal user” to find any issues that crop up along the way. You also try to make the program break by doing unexpected things, just do anything you can imagine – mix up events, emails, tasks, calendar types etc. When you find something, take a look at the Error Console (especially before submitting a bug report), since there is usually very valuable information there that points to the cause of the bug.

As usual there are also many fixed bugs that need to be verified. You simply add a comment to the bug report stating what product, version and operating system you used while verifying the bug fixed.

Join us in #calendar-qa on Thursday. All the information on the test day
is on our usual Test Day Wiki Page.

Happy Testing!


23
Jan 08

Lightning/Sunbird Status Update (January 23)

WOW! Just nine days have passed since the last status update and 44 bugs have been fixed in that time period. A lot of of those bug fixes fix important and/or longstanding issues and deserve special attention, but if I put everything into this posting you’ll probably need a few hours to read through this post :).

Therefore I’ll post one or more additional posts within the next few days dedicated to those important bugfixes.

So without much further ado here is the list of all the 44 bugs which were fixed within the last nine days:

  • Bug 195580: Can’t use delete button to delete task or calendar
  • Bug 257428: use alarms? — preference on a per-calendar basis
  • Bug 278799: Unifinder: Sorting events should use collator & precomputed keys
  • Bug 313822: adjust getMailBar() to recognize the SeaMonkey toolbar
  • Bug 328618: failure when creating calendar objects does not display an error dialog
  • Bug 328996: guessSystemTimezone doesn’t take northern/southern hemisphere into account
  • Bug 352546: Build Lightning with all locales included
  • Bug 379100: Give the Unifinder an overhaul
  • Bug 384826: Double click while editing event title in multiday view should select word
  • Bug 386432: Unify code of Lightning and Sunbird (Part 1 — Script Consolidation)
  • Bug 387863: Event Invitation by mail does not display END TIME of event
  • Bug 389952: Header of Agenda-pane should be improved
  • Bug 392936: Switching mode toolbar location from top to bottom causes duplicate icons
  • Bug 393395: Offline Support infrastructure: Synchronization interfaces
  • Bug 401546: Alarm indicator icon is not visible for recurrent events
  • Bug 402518: Enhance storage provider to store foreign timezones
  • Bug 404023: Lightning asks for a target calendar even when declining an invitation
  • Bug 405312: task mode splitter affects message pane splitter in mail mode
  • Bug 408287: Strict warnings in calendar-task-tree.xml on double click and startup
  • Bug 408291: calendar task tree shows completed date in UTC
  • Bug 408349: Add ‘Click Here to Add a New Task’ text field to Task List of Today-Pane
  • Bug 408473: Strict warnings in calendar-dnd-listener.js
  • Bug 408651: scroll bar in task mode is defect
  • Bug 408727: Monthview is slow in sorting events
  • Bug 408798: Optimize Menu Structure for Task Mode
  • Bug 411489: It is not possible to drop a Mail or Task into the Event List Container
  • Bug 411497: Task mode should offer some sort of filtering
  • Bug 411498: Task mode details pane doesn’t show enough details
  • Bug 411690: Avoid unifinder startup load
  • Bug 412258: Category color isn’t displayed if category name is longer than 2 words
  • Bug 412389: channel variable not defined in calDavCalendar.js
  • Bug 412613: Select All (Ctrl+A) in Mail mode doesn’t work anymore
  • Bug 412639: Clicking offline icon throws exception
  • Bug 412671: Only build locales if calendar locale is checked out
  • Bug 412742: Try to open the invitations dialog -> XML Parsing Error
  • Bug 412757: Event dialog is broken after removing the Privacy toolbar button
  • Bug 412853: many strict warnings
  • Bug 412929: displayDeck has no properties error
  • Bug 412946: Invitations show wrong start and end time
  • Bug 412948: Tasks cannot be deleted
  • Bug 412964: Switching to calendar mode throws error
  • Bug 413245: hardcoded string ‘Calendar’ in Lightning sidebar
  • Bug 413450: calCalendarManager: js error NS_ERROR_INVALID_POINTER
  • Bug 413455: Task tree component does not fully implement nsITreeView

Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible. You guys rock!!!


20
Jan 08

String freeze for Sunbird/Lightning 0.8 approaching

The Calendar team will freeze all Calendar-related strings tomorrow night (2008-01-21) at 20:00 PST (2008-01-22 05:00 CET).

Localizers are encouraged to start working on their translation of the upcoming Lightning/Sunbird 0.8 release after the string freeze is in effect. Localizers should try to finish a first draft of their translation by February 7th, 2008 (you can still check in corrections afterwards).

We are currently planning to release our first release candidate of Lightning and Sunbird one day after this date (2008-02-08) and it would be good if localized builds of all languages would be available by then, to enable the different l10n communities to test the localization quality.

Please direct all questions to the mozilla.dev.l10n newsgroup, which you can also follow via Google Groups.


14
Jan 08

Lightning/Sunbird Status Update (January 14)

Another week has gone by and another 19 bugs have been fixed in the last few days. The only important change within the last week I already blogged about yesterday. Otherwise there’s nothing particularly interesting this time, just the usual bug-fixing and polishing going on.

Here’s the complete list with all the 19 bug fixes:

  • Bug 323011:
    Unifinder default option should not be ‘all events’
  • Bug 353887:
    Calendar Internal Code has errors when calculating recurrences with all-day and non-allday items
  • Bug 362650:
    Google Calendar Provider: Support for Recurring Events
  • Bug 367186:
    Migration wizard hangs when importing an empty ICS file from calendar extension
  • Bug 376585:
    Subscription Dialog: Add search functionality and possibility to add more than one calendar at once
  • Bug 379029:
    API to reflect provider capabilities (gdata)
  • Bug 393395:
    Offline Support infrastructure: Synchronization interfaces
  • Bug 402325:
    Disable cut and paste commands when all calendars are readonly
  • Bug 402534:
    Provide a default set of categories
  • Bug 404056:
    Select Calendar dialog is empty during export/import/publish
  • Bug 405251:
    Unit tests for memory and storage providers
  • Bug 405687:
    Missing keyboard shortcut for the tasks window
  • Bug 406731:
    Event…, Task…, Calendar… items are missing in File Menu
  • Bug 409249:
    Creating Tasks should return an error
  • Bug 409968:
    Modifying all items of a recurring event runs into exceptions
  • Bug 410560:
    Quicken standalone build process
  • Bug 410755:
    It is not possible to resize and reorder the columns of the task list
  • Bug 410788:
    Remove some dumps, fix js strict errors
  • Bug 412154:
    Creating events with custom recurrence rule fails [Error: getElementValue is not defined]

Thanks again to all our developers, contributors, localizers, testers, and supporters.


13
Jan 08

Recurring events – now working in Provider for Google Calendar nightlies

Our resident GData hacker, Philipp, tells me that as of now the latest nightly builds of the Provider for Google Calendar extension support recurring events.

Here are some details:

  • Extension nightlies containing the necessary patch are availabe on http://gdataprovider.mozdev.org
  • This only works on Lightning and Sunbird nightly builds. Sorry 0.7 users, you’ll have to wait until the 0.8 release comes out.
  • In the case that the deletion of a recurring event is not working, this may be due to a known bug on the Google side. Please test with another timezone.
  • Philipp hopes to release his next version (0.4) of the Provider for Google Calendar extension at the same time that Lightning and Sunbird 0.8 come out. Release 0.4 will contain recurrence support.

Any help in testing this stuff is greatly appreciated by Philipp and the whole Calendar community.


08
Jan 08

Entering the Bi-Weekly Testday phase on Thursday

We are gearing up for a new year’s worth of Test Days! Our first bi-weekly test day will be on Thursday, January 10th. It will be a general Test Day in preparation for the 0.8 release of Lightning and Sunbird. We have had a lot of bugfixes checked in over the last month and need your help now to spot any possible problems that resulted from them.

Lightning users should pay attention to the new drag&drop-conversion feature, i.e. you can transition items between tasks, events, and emails from one to the other by dragging & dropping them to the matching mode toolbar button. Andreas Treumann created a brand-new set of Litmus testcases for this feature (Lightning FFTs, Subgroup ‘Drag and Drop’ in Litmus).

We suggest that you try a mix of Litmus and ad-hoc testing this time. Ad-hoc testing is testing where you attempt to use the product like a “normal user” to find any issues that crop up along the way. You also try to make the program break by doing unexpected things, just do anything you can imagine – mix up events, emails, tasks, calendar types etc. When you find something, take a look at the Error Console (especially before submitting a bug report), since there is usually very valuable information there that points to the cause of the bug.

As usual there are also some fixed bugs that need to be verified.

Join us in #calendar-qa on Thursday. All the information on the test day is in our usual Test Day Wiki Page.

Happy Testing!


03
Jan 08

Lightning/Sunbird Status Update (January 03)

Welcome to the first status update in the new year 2008! I hope you all had a good time getting into 2008. I certainly did :-) Still, we have been busy over the christmas holidays and the Lightning/Sunbird developers have fixed quite a few bugs on the road to our 0.8 release.

Two bug-fixes are worth mentioning:

  • Bug 402177: Add functionality for hiding the unifinder easily
    The event list and search functionality (known among developers as the unifinder) can now be easily enabled or disabled by a toolbar button or the application menu. This should make working with the unifinder much more comfortable for our users.
  • Bug 410168: Circular reference in timezone references
    A lot of people have complained about the excessive memory use of Lightning or Sunbird when using remote calendars. We believe that we have found one of the causes (if not the cause) of this huge memory leak and have fixed it. Thanks go to mvl for identifying this issue and to both mvl and Daniel for fixing this bug.

Here is the list of all the 16 bugs fixed since the last status update:

  • Bug 382121: Use a javascript implementation of propertybags
  • Bug 400949: Build Lightning with Sunbird
  • Bug 402177: Add functionality for hiding the unifinder easily
  • Bug 405007: Enable unit tests on Trunk tinderboxen – Update Makefile
  • Bug 409526: Use a for loop instead of Array.some to make queryinterface a bit faster
  • Bug 409743: Add Ukrainian localization
  • Bug 409842: Remove unused journal menuitems and strings
  • Bug 409843: Unify toolbar button styles
  • Bug 410055: LAST-MODIFIED entries in an ics file are set to actual time
  • Bug 410080: Consolidate usage of ics-service
  • Bug 410086: Random events have Untitled title
  • Bug 410140: Update calendar copyright dates to 2008
  • Bug 410168: Circular reference in timezone references
  • Bug 410650: Accel+VK_DOWN for jumping to today doesn’t work
  • Bug 410664: Fix typo in calendar-toolbar.css
  • Bug 410520: Add a way to prevent the migration wizard from starting

Thanks again to all our developers, contributors, localizers, testers, and supporters.

If you’re interested in helping out, read this article directed at developers. People without coding experience, who would like to help as well, should read this article about our recent testing initiative or our documentation efforts. Everyone of you can really make a difference here!