Betterbird Blog

What’s going on in the project

In this Bugzilla comment, Thunderbird's "Director, Desktop & Mobile Apps" Mr. Alessandro Castellani, writes (quote):

"Apologies for dropping the ball on this, we were working on a million other things 😅"

Let's see what other balls he or the project dropped in no particular order:

just to name a few from the last few years.

He goes on to bad-mouth Betterbird features, like the advanced "Quick Filter" which allows not only to invert tags, but also other buttons (unread, starred, in-address-book, etc.) as well as text filters. He calls that (quote):

"weird hidden CTRL+click and ugly red bars UI".

Well, Alex, we will see how well your proposed solution will work when it arrives in 2037. Apparently you're dusting off the original solution from 2016, which was rejected back then. Have you realised that "weird hidden Ctrl+Click" UI is already present today when negating individual tags? And the strike-trough already exists, too.

As for his (quote): "I will also add a bunch of tests for this feature". Perfect, also, please instruct your release management to actually look at test results before shipping a release. Many time releases get shipped without analysing permanent test failures.

And what are the million things you've been working on? To the deliver the second rewrite of account creation, that was so bad that it had to be disabled in the ESR version? Or rewriting the calendar UI yet again? How about making sure that Thunderbird users will live long enough to see features that have been requested for 20+ years, some going back to the past millennium.

So funny that our project's CEO actually took part in hiring Alex for the project back in 2018.

Thunderbird Release channel version 146 brings fresh regressions directly to your desktop. Check them out, blank parts of the UI and inconsistent naming:

Blank labels

Blank labels

This bug was reported by Thunderbird's internal QA team, good on them, a volunteer developer fixed the issue, and Thunderbird's release manager refused to ship the fix in the Release version. It's a bit like in this Dilbert cartoon:

enter image description here

And the folder name saga continues, this was already covered here. Mileage varies depending on mail provider and localisation. Here shown for a Gmail account. On the left, the folder tree, on the right, the folder name in the Subscribe panel, which is typically the folder name shown in the provider's web UI: Gmail folder names

Follow-up here.

Release 140.6.0esr-bb15

- Posted in Releases by

We've shipped Betterbird 140.6.0esr-bb15 today. Please refer to the Release Notes for full details.

Update 8th December 2025: We had to replace the entire release with "build2" since advancing the Thunderbird "fix" for an IMAP bug introduced random crashes. On closer inspection, that code change is likely to have undesired effects, including crashes.

We've addressed issues reported by users in the last four weeks and implemented some new features.

First and foremost, to fund the project, when launching this version for the first time, it will open the end-of-year donation drive page in your browser. Unlike Thunderbird, which is constantly nagging, we're asking for donations this way only once a year in December.

A user who is migrating from Postbox motivated some improvements to the search functionality, see this post for details.

Some of the fixed bugs that were related to searching, for example we rectified and issue that prevented encrypted S/MIME messages to be indexed; a feature introduced in Betterbird 115.

Miscellaneous fixes include missing localisations, where the program talked about Thunderbird instead of Betterbird, and a fix for the much-dreaded "phantom menus" mentioned here. Users of "attachments on top" in the compose window can now reduce the height of the addressing header when many files are attached.

Thunderbird 140.6.0 ESR is due next week, so the Thunderbird folks are building it. Surely, something went wrong again, as the picture shows. But that's not what we're there to talk about. We're here to talk about software quality.

Question: How make fixes are included in their version 140.6.0 ESR compared to the previous version 140.5.0 ESR? Answer: Zero, nothing at all. Despite 72% of users still using the ESR version as compared to 25% of users on the buggy "Release" version (source: Desktop ADI: 72% on 140esr, 25% on Release, 3% on other), the ESR version is largely neglected while they keep flogging the regression-ridden "Release" version, see here, here and here. Betterbird on the other hand is including about 80 fixes in Betterbird 140 which the Thunderbird folks could easily ship in their version, too. But they established this ridiculous "backport" policy, where only fixes for severe issues are backported, so all the annoying regressions are left unfixed, and this applies to their "Release" version, too.

Bad Sunday

- Posted in Ranting by

First we would like to remind the reader what ranting is about. As AI put it: Online, it signals exactly what you’re doing: calling out mistakes, bad decisions, sloppy work, or irritating trends — but in a way that’s more commentary-with-attitude than theatrical shouting.

So here goes a personal story from your favourite CEO:

I had a bad Sunday. In the morning, I was writing an e-mail and was hit by three bugs.

First, searching by custom header had been messed up since the preference mailnews.customHeaders which lists custom headers had been corrupted, likely by an add-on, since the code just doesn't do that. The separator :<space> had been replaced by \n. Very weird.

Next, I noticed that in an new composition with many attachments shown on top (which is a Betterbird feature), the header pane grew with no way to reduce it. That was actually a real bug. It got fixed in our "latest build 4".

And finally, the ghost menus hit me. A user had reported them before, but only today I found a reproducible case. After a long investigation it turned out that setting preference ui.prefersReducedMotion to the default value 0 caused this issue. Betterbird exposes the preference, hence it leads to this error. Thunderbird 140 fails the same way if one sets the preference manually. The issue seems to be fixed in later versions of Thunderbird. We haven't bisected where it got fixed.

And to add insult to injury, I noticed that Thunderbird 146 makes irreversible changes to a profile, so while switching versions, at some stage I was prompted to enter all the passwords again. That's where a backup came in handy.

But hey, there was a silver lining: A user wrote: YOU ARE MY HERO!!!!! after helping him diagnose that his mail provider was rejecting his SMTP EHLO command based on his local IP address of 192.168.1.13. BTW, AI predicted something like that based on the obscure error received: internal error AUP#EML-005. So if your mail provider plays up, you can set preference mail.smtpserver.smtpXX.hello_argument to work around it. The XX can be obtained from the account listing in the Troubleshooting Information (that's a Betterbird-only feature).

Oh yeah, SuperSandro from NixOS helped us with improving our build script by replacing uname -i with uname -m. Two workarounds for uname -i not working on Debian and macOS were made obsolete.

How was your Sunday?

Message search in Thunderbird and Betterbird is a widely misunderstood area. Both programs offer three different searches:

  • "Regular" message search, via the context menu "Search Messages..." or keyboard shortcut Ctrl+Shift+F. This searches in a folder, all folders of an account, or all folders in all mail accounts. The latter is a recent enhancement in Betterbird. This method is also used to create "(Saved) Search Folders", which together with "Unified Folders" form the class of "Virtual Folders".
  • Quick Filter Search, QF in short, which is summoned with keyboard shortcut Ctrl+Shift+K. This search uses the same technology as message search under the hood.
  • Last not least, there is "Global Search and Indexer", for short, "Gloda" (Global Database), which indexes all mail and chat message into a global SQLite database global-messages-db.sqlite. When enabled, this is summoned with keyboard shortcut Ctrl+K.

Betterbird offers many improvements in message, QF search and virtual folders:

  • In message search, it offers complex search terms (and/or grouping) and regular expression search.
  • In both message search and QF, diacritics are ignored, so "señor" matches "senor". Bodies of encrypted messages are also searched.
  • QF offers negations (inverted buttons) and better feedback while the search is running.
  • Virtual folders are fully cached: When a virtual folder is opened, it is restored from cache instead of executing the underlying search again which can lead to extreme performance degradation if the virtual folder is based on many and large folders.

Now turning our attention to Gloda. It was developed in 2009 in series of tickets and currently has 45 open bugs and enhancement requests. Since the initial developer left the project, the code is basically unmaintained, is has only received general refactoring, for example when the entire Thunderbird codebase was migrated to custom elements and ECMAScript Modules. Gloda is the only code left that still uses JavaScript Generator Functions. They have been replaced with modern asynchronous processing in the rest of the codebase. In brief: Thunderbird developers will only touch Gloda with a ten-foot pole, and the same goes for the Betterbird team. That said, our project leader had some exposure to the Gloda code, for example, when he was the Thunderbird maintainer and had to fight inadvertent changes to the tokenizer that broke Gloda completely.

Despite all the difficulties, Betterbird offers a few discrete improvements:

  • Gloda search in encrypted messages
  • Gloda results can immediately be opened in a list view
  • Gloda skips duplicate results in Gmail's "All Mail" folder
  • Preference mailnews.database.global.indexer.max_body_part_size to allow Golda to index more than the first 20 KB of a message to avoid missed search hits
  • And the most recent improvement: Two new filters which allow restricting the search result to search hits which matched on message subject or message body. Fortunately, ChatGPT sprang to help to make sense of the code.

We concluded our previous post with the questions:

Is your head spinning already with all the bug numbers? Do you think the Release Channel version is good enough for productive use?

The saga continues, so here's an update:

The fix for Bug 1993842 was backed out from the Release Channel version, so special IMAP folders are now always shown in English again. Meanwhile the fallout from the fix is being addressed in Bug 1998456.

But the drama is going on. A further fix not to show Gmail's "All Mail" folder as "Archives" is being prepared in Bug 1999677, and the developers thought it was a good idea to force Thunderbird-specific localisation onto that folder, despite the fact that Gmail already localises its name, see Bug 1999895.

The German reader will be reminded of the film title "Denn sie wissen nicht, was sie tun" ("Rebel Without a Cause", from 1955).

All this is part of a "normal" development process of "trial and error", at least in some organisations, but trying to sell the resulting software as a "stable" release, well, ..., we leave that to your judgement.

Update 12th Dec 2025: The issue is still not resolved in Thunderbird 146, see: folder name confusion

Here you find the latest bug report.

Release 140.5.0esr-bb14

- Posted in Releases by

We've shipped Betterbird 140.5.0esr-bb14 today. Please refer to the Release Notes for full details.

We've addressed issues reported by users in the last four weeks.

The Betterbird-native new mail alert on wrong monitor issue is finally fixed, and preference mail.notification.show_on_app_screen should also be working now. We revived preference mail.folderpane.sumSubfolders which had become a victim of Supernova-Kaboom in Thunderbird 115.

Users of the Proton Mail Bridge can now unsubscribe from the likely unwanted so-called "no-select" folders Labels and Folders after setting preference mail.imap.allow_unsubscribe_noselect.

The pesky calendar scroll issue when switching tabs was also fixed by advancing a Mozilla patch. We're also advancing eight bug fixes which are not shipping in Thunderbird 140 ESR yet. As far as providing recent bug fixes to ESR users is concerned, Betterbird is about 50 fixes ahead of Thunderbird.

Finally, the "Recent Destinations" menu was returned to its original state of only showing folders to which messages had been recently moved, the sort order is now based on latest use.

In our previous post, we wrote about the many regressions users of the Release Channel are plagued with. Today we're focusing on the history of a particular issue, which affects all users of a localised (non-English) version of Thunderbird.

Traditionally, Thunderbird aimed at showing names for "special folders" (Inbox, Sent, Templates, Trash, Archives, etc.) the way they were shown in the mail providers web interface. That was achieved by listening to user requests in various bugs, for example Bug 1320191 on the Microsoft "Deleted" folder, or Bug 543227 on incorrect names of other IMAP folders.

In their infinite wisdom, the Thunderbird folks changed this behaviour for no good reason in Bug 1960526, so a SPAM folder called "Bulk" would be called "Junk" (later "Spam" after migrating "Junk" to "Spam" in Bug 1823084), which gave rise to Bug 1979511.

Attempting to fix Bug 1979511 led to Bug 1993842, where special IMAP folders were always shown in English. That was fixed, but now the behaviour has returned to the "infinite wisdom" change, were standard names of the special IMAP folders are used instead of the names in the web interface. This was filed as Bug 1998456.

Let's not mention that in the course of the events, some localised folders were shown with garbled/mojibake names for a while, Bug 1994890.

Is your head spinning already with all the bug numbers? Do you think the Release Channel version is good enough for productive use?

Here a message from the Betterbird CEO:

Dear followers of the Betterbird blog,

You may have asked yourself why we're self-hosting our own blog instead of publishing on social media to potentially reach a wider audience. The reason is simple: One of my principles is to only publish on media which I control, or at lease have moderator status, like on Reddit. I considered creating an account on Instagram, but was concerned about being affected by some random unjustified decision of the platform operator. Sadly, today this fear became reality as my personal Instagram account was blocked, stating that (quote): [the] account, or activity on it, doesn't follow our Community Standards.

That's totally surprising since the last post was made in more than two years ago, in January 2023, and the last trivial direct message sent was 50 days ago. So which activity were they referring to? 1.5 hours later the account was unblocked again after I had submitted a whole lot of personal data, including a selfie. Horrible.

Thanks for following us!