Support for IMAP RFC 4978 landed

June 5th, 2009

Tomorrow’s nightly build of Thunderbird 3.0 b3pre adds support for the IMAP Compress extension – see Bug 401673 and the rfc for more info.  If the server advertises COMPRESS=DEFLATE, we will do compression of incoming and outgoing data. For lower bandwidth connections, this should be a nice win, especially when we select large folders and fetch flags. I’ve seen reports of > 5x compression for the flags response. To turn it off, you can use the config editor to toggle mail.server.default.use_compress_deflate to false.

The latest versions of the Cyrus IMAP server supports COMPRESS=DEFLATE. Fastmail.fm has rolled out this support already.

Many thanks to Bron Gondwana who developed the patch very quickly and cleanly, despite having no experience with the Mozilla codebase.

- David

Speeding up debug builds with Gloda

March 13th, 2009

Andrew Sutherland pointed me at a patch that speeds up gloda operations in debug builds by a shocking amount – https://bugzilla.mozilla.org/show_bug.cgi?id=456272.  It turns off some debug-only autolock code in xpcom.  I’m sure the debug code is very useful when you’re debugging multi-thread locking code, but the speedup without it is intoxicating. All the usual disclaimers apply, but if your debug build is painfully slow, the patch is out there ;-)

- David

Building Thunderbird on 64-bit Vista

March 6th, 2009

I’ve been going through the fun process of setting up a new machine to build Thunderbird.  I decided to go with 64 bit Vista so I could use more than 3GB of memory.   There were a few things the mostly excellent instructions on devmo didn’t mention, so I thought I’d write them down while they’re still fresh in my mind.  Thx very much to Sid (sid0 on IRC) who told me most of this stuff.

First, when you install VC Express (or VC9), make sure you don’t install to the default path, which has (x86) in it – specify a path without the parens, because that confuses our scripts. I just removed the parens.

Our guess-msvc.bat file doesn’t work for 64 bit Vista because the registry entries are in a different location – Sid has a version that does work, and now I have it – maybe we can figure out some place to put it so others can use it. That’s the batch file used by the start-msvcNN.bat files to figure out where VC is, and set up your path for building. I think these were two parts of the diff that I needed:

-SET MSVC9EXPRESSKEY=HKLM\SOFTWARE\Microsoft\VCExpress\9.0\Setup\VC
+SET MSVC9EXPRESSKEY=HKLM\SOFTWARE\Wow6432Node\Microsoft\VCExpress\9.0\Setup\VC

and

+SET SDKDIR=C:\Program Files\Microsoft SDKs\Windows\v6.0A\
+SET SDKVER=6
ECHO Visual C++ 6 directory: %VC6DIR%

You’ll need a different version of msys-1.0.dll than the one in the mozilla build tools in order for the bash shell to work – the one here worked for me.

If you’re using VC Express, the config step might tell you that atlbase.h is missing – see http://developer.mozilla.org/en/docs/atlbase.h for more info. I ended up just adding these lines to .mozconfig:

ac_add_options –disable-xpconnect-idispatch
ac_add_options –disable-activex
ac_add_options –disable-activex-scripting
ac_add_options –disable-accessibility

This allowed me to build and run Thunderbird. There’s a scary comment that says you can’t use jemalloc unless you use VC 7.1, but I didn’t have to do anything special there.

Now I have to go remember what I did to set up Mercurial :-)

- David

Thunderbird 3 Beta 1 Released Today

December 9th, 2008

We’re happy to announce that Mozilla Messaging has released Thunderbird 3 Beta 1 today. It’s available for download here.  More information about Thunderbird 3 Beta 1 is here.

Thx to everyone that helped with this release.  I’d like to specially thank some folks that made my job of being the release driver easier – Gozer for his build and IT work, Wayne for all his QA work, Raphael for his help with the web-site content, and Standard8 for his excellent documentation and help, which more than made up for his setting the bar so high with Alpha 3 :-)

- David

First Thunderbird 3.0 Beta 1 RC builds available

December 1st, 2008

We have our very first Thunderbird 3.0 Beta 1 Release Candidate builds available here. We will be testing these builds in the next few days, and if you would like to help test them, please download a build and try it.  The usual disclaimers apply – either backup your current profile, or create a new profile and run TB 3.0 Beta 1 RC 1 against the new profile.

- David

js folder pane landed

November 14th, 2008

Jminta’s js driven folder pane has landed in the trunk. This will allow us to much more easily extend the folder pane, and do interesting things going forward. Right now, you shouldn’t notice much difference, except that the extra columns are not supported, nor is the drop down folder picker. Thx to jminta for all his hard work, and to Standard8 for his excellent reviews. See bug 414038 for more info.

- David

Cross-folder threading/grouping added to Shredder Nightly builds

November 2nd, 2008

I’ve recently landed support for grouping in single folder saved searches, and grouping + threading in cross-folder saved searches.  See bug 379806 for implementation details.  There are still some rough edges left which will be tracked in follow-up bugs.

This feature will be important for things like implementing smart folders, i.e., having virtual folders that combine messages in special folders across accounts, e.g., a global Inbox that shows all of your inboxes in one logical inbox.

- David