Betterbird Blog

What’s going on in the project

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 ignores, 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.

Feature requests we receive

- Posted in Feature Requests by

Over the years that the project has existed, we've received many feature requests. Some are filed at GitHub (current list), others are communicated to us via e-mail.

The open enhancement requests at GitHub include shipping Betterbird in different ways, for example as Snap Package or AppImage for Linux, or MSIX via the Microsoft store or for Windows on ARM64. Those requests will likely not be addressed without external help.

The next category are (currently nine) enhancements which have been requested in Thunderbird for sometimes more than 20 years. There are a few biggies in there like proper support for RTL locales or Calendar subtasks.

The remaining (currently eight) requests include enhancing reversed threading further, to show the newest message in the collapsed thread root.

Via e-mail we received the following requests:

  • CC column in the table view
  • Improved detection of attachments of type application/octet-stream
  • Integrating move/copy into activity manager
  • When capturing a recurrent event in the future, end date should be populated with event date, not current month.

Every time users request in implementation of an enhancement, we ask for a symbolic financial contribution which depends on the income of the requester, the time they will save using the new feature, and the overall complexity of the request. Requests from people who are just asking, but expect everything for free, will likely not be implemented.

A different question is setting up a special funding drive for larger issues, for example, RTL support, possibly via GoFundMe or Floss/Fund.

Right now, well be looking at extending "Search Messages", so regular folder search, to allow searching all folders in all mail accounts. That's bug 131438 from 2002*). This was requested by a contributing user who wants to switch from now defunct PostBox to Betterbird. This user also suggested an improvement to "global search" (Gloda), to be able to filter the search result by whether the match was on the message subject or body, not just by "From Me" and "To Me"*).

Let us know your thoughts and whether you are willing to sponsor an enhancement. Click here to e-mail us!


*) Now implemented and available in "latest build" version.

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?