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?

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!

Import of data from the local PST files of a Microsoft Outlook profile was not working well in Thunderbird before 2011, when famous Russian developer Mike Kaganski*) re-implemented it in bug 207156. His work was committed here with this changeset. That was in 2011 in Thunderbird 6. Back then, our project leader was working with Mike, mostly doing testing. Mike did a few more tweaks, for example here and here, so the feature was stable that year in Thunderbird 11.

With the advent of JS Mime, a new implementation of MIME processing written in JavaScript, Outlook import broke again in Thunderbird 38 due to threading issues. The fix was made in this bug ready for Thunderbird 60 by our project leader.

(The text below has been corrected on 8th November 2025, the initial information was incorrect.)


It's been working since then, but the advent of Outlook 2013/2016/2019, Office 365 and the modern Outlook app have changed the situation. Here is what is still working to this very day:

Outlook version IMAP account with OST and optional PST files POP account with PST only
Up to 2010 ✅ Can import via full MAPI ✅ Can import via full MAPI
2013, 2016, 2019, O365 (classic desktop) ✅ Can import via full MAPI; attached PSTs also visible if part of the profile ❌ Cannot import, PST not exposed to external MAPI clients
Modern Outlook app ❌ Cannot import, no MAPI ❌ Cannot import, no MAPI

To import a PST with Outlook 2013/2016/2019 or Outlook 365 installed, add it to an IMAP profile (with OST file) as an additional data file.

This screenshot was taken after a successful import from Outlook 2010: enter image description here It is possible that modern versions of Betterbird/Thunderbird have additional bugs, so if there is an issue, we recommend using an older version, for example Thunderbird 12 (we didn't test it). Older versions also give a more informative summary panel that the new kids on the block who took over Thunderbird axed in version 128 (bug 1851608): enter image description here

If you're using Outlook 2013/2016/2019 or Outlook 365 on a POP account or the modern app, you will see this: enter image description here


*) Mike is famous for cracking bug 393302, the dreaded MAPI x64 bug, that no one had been able to solve and that prevented Thunderbird from shipping 64-bit binaries. That was back in 2019, and the fix was backported to Thunderbird 60.

Have you ever wondered why Betterbird follows the Thunderbird ESR (Extended Support Release) channel and not the Thunderbird Release channel? The answer is easy: The Release version is riddled with regressions that slipped through the beta phase. Even Thunderbird users seem to be aware of that, as according to the latest published statistics, and despite the best effort of the Thunderbird folks to push their Release channel to users, 73% are still on ESR. They prefer stability to fresh regressions and partly implemented and non-functional new features.

Three examples from the current version 144. This is shipping with the new reworked so-called Account Hub, which is very buggy, this bug only has 22 duplicates. Next, 144.0 shipped on 14th October 2025 with a bug, causing the taskbar button of the compose window to disappear from the taskbar. This was quickly fixed with a new release 144.0.1 two days later. Last not least localisation of IMAP folders for drafts, templates, sent messages, etc. is broken. Users of localised versions see the English names.

One argument for the Release channel has been, that new features would reach users faster. While this is true in theory, the practice is different. For example, the much-touted Microsoft Exchange integration via EWS is still not feature-complete in the current release. Users are left to find out in which way their the Exchange account behaves like normal local or IMAP accounts, and which features still need to be implemented.

In Germany there is a term for this: "Bananaware", the product ripens on customers' systems.

We had a few reports from the United States and Australia regarding slow download speeds for our larger binary files (.exe, .zip, .tar.xz and .dmg). Currently all files are hosted at our hosting provider in Germany, so "overseas" users are suffering from transatlantic (or transpacific) latency and limited peering bandwidth.

Therefore we made downloads also available via the Bunny Content Distribution Network. In Firefox, it looks like this: Download via CDN

This is a paid service, so the project has to finance every download. If our total download volume of currently 3.5 TB per month ran via this service, we would incur a considerable cost.

Therefore using CDN is a click away from the regular download page at www.betterbird.eu/downloads/, and we ask our users to use the service with care. We assume that no European user would need it. If the costs run too high, we will have to restrict this to certain regions.