Mark Banner’s thoughts on Thunderbird, Mozilla, Bellringing and more.

Reorganisation of Thunderbird, Lightning and Sunbird nightly directories on ftp - Tuesday 16th June

June 11th, 2009 Posted in Mozilla, Thunderbird | No Comments »

With the recent switches from cvs to hg and then the addition of the 1.9.1 branch, the Thunderbird, Lightning and Sunbird nightly directories on ftp are a bit untidy and are in need of a late spring clean to make them clearer for nightly users downloading our builds.

Unless there are any major objections, we will be actioning this change on Tuesday 16th June.

Please be prepared to update links to builds. We’ll be covering all the mozilla.org/mozilla.com/mozillamessaging.com ones that we can find.

The tracking bug for this work is Bug 481685. The full description of changes is documented here.

The changes will affect the latest-* sub-directories, resulting in the structures summarised below. The changes may also affect the names of the dated directories.

latest-* directories remaining as a result of the proposed changes (any latest-* directories or symlinks not listed will be deleted):

ftp://ftp.mozilla.org/pub/thunderbird/nightly/

  • latest-comm-1.9.1 (Thunderbird 3.0* en-US)
  • latest-comm-1.9.1-l10n (Thunderbird 3.0* Localised)
  • latest-comm-central-trunk (Thunderbird 3.1* en-US)
  • latest-comm-central-trunk-1l0n (Thunderbird 3.1* Localised)
  • latest-mozilla1.8 (Thunderbird 2.0* en-US)
  • latest-mozilla1.8-l10n (Thunderbird 2.0* Localised)

ftp://ftp.mozilla.org/pub/calendar/sunbird/nightly/

  • latest-comm-1.9.1 (Sunbird 1.0* en-US)
  • latest-comm-1.9.1-l10n (Sunbird 1.0* Localised)

There are currently no Sunbird builds for Gecko 1.9.2, but these will use the latest-comm-central-trunk version when created.

ftp://ftp.mozilla.org/pub/calendar/lightning/nightly/

  • latest-comm-1.9.1 (Lightning 1.0* en-US)

There are currently no Lightning builds for Gecko 1.9.2, but these will use the latest-comm-central-trunk version when created.

Update: Corrected Thunderbird 2.0* localised directory location

New Address Book Documentation

June 1st, 2009 Posted in Mozilla, SeaMonkey, Thunderbird | No Comments »

Some of you may have already seen this on Jen’s documentation blog. For the last couple of weeks I have been finding the odd few minutes here and there to write some documentation on the address book interfaces and examples of how to use them. I’m hoping this will be useful to extension developers upgrading or writing extensions to Thunderbird 3.

The documentation and examples aren’t as extensive as the could be, but hopefully will give some useful starting points. If there’s something you think is missing, please add it to the page (or the talk page if you don’t know the solution) and help us improve it for everyone.

Dropping in-tree support for the Palm Synchronisation Extension

May 26th, 2009 Posted in Mozilla, SeaMonkey, Thunderbird | 2 Comments »

The comm-central tree currently includes an extension that is known as Palm Sync and provides address book synchronisation support with Palm devices. The extension was shipped with SeaMonkey 1.1 and there was a version posted on addons.mozilla.org for Thunderbird 2 but that version isn’t available on AMO anymore.

It has become clear that maintaining the Palm Sync extensions doesn’t make sense to do in-tree any more, because the work/benefit ratio is too low.  Specifically:

  • There is no active maintainer for the Palm Sync extension, meaning that the work of maintaining it falls on people who should be spending as much of their time as possible making the entire platform better.
  • Palm Sync is a binary extension, closely linked to the TB sources. Due to the close linking, if we re-factor how the address book works (even the internal workings of contacts), we have to do work to update palm sync. This wouldn’t be too bad, except that palm sync requires a special version CDK to build it, and then there isn’t an easy way for developers to test it without palm devices. Whilst we could buy these we’d have to make sure that any address book developer had access to one, or rely on one or two people testing patches etc.

From a forward-looking point of view, we want to be able to expand the possibilities for device synchronisation. The palm sync code, unfortunately, is very specific to the palm sync interface, and we believe it is not a suitable base for that to happen. In-between times, we want to be moving forward various areas of the address book and improving it for users. Trying to maintain Palm Sync alongside that, I believe, will slow us down.

Therefore we have taken the decision to drop palm sync support from comm-central. We will be archiving the code in its current state, and if anyone would like to take it over and maintain it, I will be happy to provide support to get them set up (once we’ve archived it I’ll update this post with the archive location) - just drop me a line.

Recent changes in comm-central’s test mechanisms

May 7th, 2009 Posted in Mozilla, SeaMonkey, Thunderbird | No Comments »

There’s been a few changes around comm-central’s automated testing recently that I’ve been meaning to post about.

The most important changes to note are:

  • make check now only runs the compiled-code unit tests (we only have two of these in mailnews).
  • make xpcshell-tests now runs the xpcshell tests that were previously run as part of make check. I have just checked in the patch which means you can now do make -C objdir/mailnews xpcshell-tests like you could with the check command before.
  • The check-one and check-interactive commands remain the same.

I have also just updated the wiki page explaining the numbers on the Tinderbox pages.

The xpcshell-tests also now have shutdown leak statistics enabled. Unfortunately for mailnews we currently have a lot of leaks due to our test harness (which provides a consistent profile directory that isn’t the build directory and a few other things). We’re currently not cleaning the test harness leaks up as this would break check-interactive - a useful tool to developers. Hopefully this will be fixed soon (patch in review) and then we can tidy up our leak logs.

Acid Tests on Thunderbird

April 29th, 2009 Posted in Mozilla, Thunderbird | 6 Comments »

Robert’s recent post about the acid tests on wikipedia reminded me that I’ve been meaning to post about Thunderbird and the acid tests for a few months now.

Sometime last year there was a discussion on the results of Acid tests in Thunderbird. Whilst Acid3 was a similar result to the equivalent Firefox build, Acid2 was much worse - this was strange given that Thunderbird runs on virtually the same Gecko engine that Firefox does.

A bug was duly filed, after a bit of investigation, it was found that there were two issues: 1) Thunderbird denied access to load data URIs, 2) Thunderbird needed plugins enabling (plugin loading is disabled by default to help protect users against detection of reading by loading remote data, and potentially other reasons I don’t know about at this time).

We then fixed the content policy so that we enabled the data URIs. Using today’s nightly builds (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b5pre) Gecko/20090429...), here is Acid 2 in Firefox (left) and Thunderbird (right):

Additionally Thunderbird passes the Acid 3 test to very nearly the same extent as Firefox:

The difference here is the “Linktest Failed” - as Thunderbird isn’t a browser, we don’t enable history on links (they don’t turn a different colour when you click on them). You can see this effect of the “Linktest Failed” in Firefox’s private browsing mode.

For both these tests, all I changed from the default set up was to set the preference mailnews.message_display.allow.plugins to true. To load the web page, I set Thunderbird’s start page to the appropriate Acid 2 or Acid 3 URL and then selected Go -> Mail Start Page.

This is both good for Thunderbird - basing ourselves on Gecko means we don’t have to worry too much about laying out what we display - and for extensions - authors can know they can load pages/render content in Thunderbird and they will come out the same as Firefox.

Thunderbird 3 test day for Beta 3

April 23rd, 2009 Posted in Uncategorized | No Comments »

Today is a test day ahead of the upcoming Thunderbird 3 Beta 3. We’ve already seen plenty of activity in chat.mozillamessaging.com, our new chat facility.

Come and join us, find out what is in Thunderbird 3 and help us test and improve Thunderbird 3. More details in Ludovic’s post.

A year at Mozilla Messaging

April 10th, 2009 Posted in Mozilla, Thunderbird | 2 Comments »

Just over a year ago, I left my previous job at Thales and joined Mozilla Messaging. This was quite a big change, a big multi-national company, to a new open source start-up. I’ve definitely enjoyed this last year and I’m looking forward to next year. Here’s a few highlights:

  • Traveling abroad - before I joined Mozilla Messaging I’d only be aboard a couple of times when I was at high school. Over the year, I’ve been to Germany (for the Calendar meet up), Whistler (for the Mozilla Summit), and a Mozilla Messaging work week at the Mozilla Corporation offices in Mountain View.
  • Expanding the MailNews test infrastructure.
  • Helping move Thunderbird & co from cvs to hg - since the move I’ve definitely not looked back, hg is sooo much better than cvs.
  • Continuing Address Book improvements - whilst its still not as far progressed as perhaps I’d like it to, the backend is much better, and some of the fixes are filtering through to the UI now as well.
  • Likewise, continued improvements across the whole of Thunderbird.
  • Being release driver for Shredder Alpha 3.
  • Getting Leak and Bloat tests running on Thunderbird.
  • Switching Thunderbird and SeaMonkey from the old “wallet” code to the toolkit password manager.
  • Engaging with the community - its been great having discussions on #thunderbird, face-to-face and other places about how people use Thunderbird, and what their problems and issues are.
  • The birth of my daughter.

For the next year, there’s a lot to look forward to, we’ve got the release of Thunderbird 3, followed by starting work on the next version - we’re already thinking of ideas of where we want to go and what we need to do, and its exciting. I’ll be blogging more on what I’m specifically thinking about over the next month or two.

Students: Google Summer of Code applications close tomorrow

April 2nd, 2009 Posted in Mozilla, Thunderbird | 1 Comment »

Student applications for Google Summer of Code close tomorrow at 12 noon PDT (19:00 UTC). Make sure you get your applications in before then.

For Thunderbird we have several ideas proposed, but you can submit your own ideas as well - Just make sure there’s a clear description of what you want to do, why, and what the results will be.

GSoC is a great way to start getting involved with Open Source - you get paid for it and help improve the products for everyone to use.

Release Tracking Software

March 25th, 2009 Posted in Mozilla, Thunderbird | No Comments »

Dear LazyWeb,

For each of our Thunderbird alpha, betas, finals etc we have a Release tracking wiki page (example). The table is our information for what’s happening within the release and where we’ve got to. We have issues with it:

  • Editing the table on the wiki is slow and hard to update.
  • Although people can subscribe to changes, the email doesn’t contain what changed, and we have to go back to the table and try to work out what’s next.

What we’d especially like:

  • A simple process/workflow web-based application (preferably open source).
  • Support for emailing interested parties about state changes and next steps.
  • Support for processes happening in parallel.

Anyone have any experience or suggestions of software that would do what we want, or maybe a different way of using the wiki that would help us here?

>100 in-testsuite+ bugs in MailNews Core & Thunderbird

March 23rd, 2009 Posted in Mozilla, SeaMonkey, Thunderbird | 1 Comment »

A discussion at our status meeting last week, prompted me to take a look at how many bugs MailNews Core and Thunderbird have marked as in-testsuite+. I was pleased to see it was just reaching 100.

(For those that don’t know, we mark a bug as in-testsuite+ when we have an automated test that covers that bug).

I committed the first in-testsuite+ bug for MailNews in November 2007, this covered some very basic address book functions. Since then we’ve grown the tests to cover address book (more extensively), POP3, IMAP, SMTP, NNTP, bayesian spam filter, aspects of message composition and sending, gloda (the new search database), text import of address books, searching messages, folder management, and a few other things.

Although our actual code coverage of these areas is not very big, we do cover a lot of different areas of MailNews with these tests. Our major protocols are covered (to a limited extent) with the use of fake servers - as a result of the password manager switch, we also have basic authentication tests for these protocols. So if someone breaks something significant, we’re much more likely to know about it before it even hits the nightly builds.

We’ve never (yet) had a policy of all patches requiring unit tests, because for Thunderbird we haven’t got the same testsuite possibilities as Firefox - mainly due to the lack of a browser interface. Various solutions have been proposed and partially investigated, I expect we’ll be looking at the chrome/UI area of testing more after we release Thunderbird 3.

We’re going to be looking at how to encourage writing more unit tests, and what we can do to make writing them easier, so keep watching.

I’d like to say thank you to all those that have written unit tests for MailNews so far. Keep going, unit tests have, and will make Thunderbird & SeaMonkey better products.