Betterbird Blog

What’s going on in the project

Kindness everywhere (not!)

- Posted in Ranting by

Recently, it was brought to our attention by a user that the feed icon of "Charlie's Diary" (feed here) is displayed empty: empty feed icon

We looked into the issue and it turned out that Mozilla-base software has a problem displaying the icon, as also can be seen when opening it directly in Firefox, resulting in: "The image “http://www.antipope.org/favicon.ico” cannot be displayed because it contains errors."

However, Mozilla's "Places technology", also used in Thunderbird feeds, can display the icon: icon shown in history

So we contacted Charlie politely asking him to address this issue. We even supplied a repaired version of his icon, which is only 16 bytes bigger. Our first inquiry was ignored, but a friendly reminder, "Please address this issue", five days later received this reply:

No. Now fuck off.

Well, good luck, Charlie!

Release 140.7.0esr-bb17

- Posted in Releases by

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

Since only 11 days have passed since our Release 140.6.0esr-bb16, this release only contains a few items. By popular demand we implemented a "reveal" button in the primary password and mail password prompts.

Primary password prompt

Release 140.6.0esr-bb16

- Posted in Releases by

We decided to start the New Year with a fresh release of Betterbird 140.6.0esr-bb16. Too many fixes had accumulated since shipping "bb15" at the beginning of December:

  • A user alerted us to a defective French localisation. The issue is also present in Thunderbird 140. We made a "spot fix" to include the missing strings.
  • A user had asked us to provide a "dark reader" switch for the compose window to work around "back on black" issues.
  • By popular demand we've implemented an option to include the event description in the mail body of the scheduling message.
  • We're now enabling address book categories for compliant CardDAV servers which support vCard v4.0.
  • "Recent Destination" now include a short MRU list on top of the longer alphabetically sorted list.
  • By popular demand, filenames can now contain commas with -compose "attachment=..." is used.
  • There was a Mozilla editor issue where the "insertion point" (caret) was displayed incorrectly. We're advancing Mozilla's fix since the issue was rather annoying.
  • And finally: Embedded SVG images weren't displayed correctly under some circumstances, another puzzling issue.

And there is more, so please refer to the Release Notes for full details.

Update: No release without an issue. This time the localised strings for the new Categories functionality were missing, so all localised versions and language packs had to be replaced. This happened at 20:00 GMT.

What are you going to break next?

- Posted in Ranting by

After a string of bad design decisions, like turning the default view to threaded and removing connecting thread lines, moving the main menu bar to underneath the unified toolbar, and the recent folder naming disaster, the new kids on the block are now moving to the implementation of a feature that allows filtering on untagged messages. This was requested in 2011.

Betterbird had an initial implementation in version 91 in 2021 with a second button, called the "two button solution": enter image description here where a second button allowed selecting untagged messages additionally. This was replaced in version 115 by the ability to negate not only tags, but also the other filter buttons (unread, starred, in-address-book, etc.) as well as text filters: enter image description here

Thunderbird's director bagged on this implementation, as reported in an earlier post.

Now watching the now Thunderbird kids trying to implement the feature is a real disaster. At first, the suggestion to add a third selector to Any of / All of is put forward: Screenshot of untagged only

When a reviewer voices objection (quote):

I don't think this is the way to implement this. "None" is totally a different thing from AND/OR, and totally mess with the mental data model of the filtering.

he is swiftly removed. The patch author, now impersonates the UX team and replies:

The UX team analyzed this and they agree that this is an acceptable first implementation to add a very simple feature..

And then a well-meaning clueless employee suggests:

But I have a second idea: A virtual "untagged" tag. This additional tag is shown alongside the others and its default state is "not", to match the current behavior when tags mode is enabled, but users can flip it to show only messages without tags.

Wow, wow, wow, such genius. Only that this very same solution was considered and rejected in 2016. And there is more brilliance:

What was that sentence? "Perfection is the enemy of good" 😄 That's a long-standing Thunderbird principle: Wait (forever) until the perfect solution comes alone.

And then, in reply to a comment, You are aware that exclusions work today via right-click and that the excluded tag(s) is/are struck out? we have:

I don't see a strike out when I use shift

Dazzling, for sure, from someone who has been on the project from 24 years.

What's up next?

As you may know, the is a Betterbird subreddit at https://www.reddit.com/r/Betterbird/. Reddit offers to deliver content via RSS feeds by simply appending .rss to the end of a URL. So we're subscribed to two feeds:

  • https://www.reddit.com/r/Betterbird/.rss
  • https://www.reddit.com/r/Betterbird/comments/.rss

not because we love it so much, but to monitor support queries coming in via the channel.

A while ago we noticed that those Reddit feeds were in error, see picture above. So we went to debug this. Reddit was in fact replying to the request to fetch the feed with a 403 error "Forbidden". First we compared the behaviour with Thunderbird on a different profile, which actually worked. Goodness gracious, Betterbird wasn't better than Thunderbird? We couldn't rest until the issue was solved.

Carefully analysing the code changes in the Feeds code, we didn't see anything that would explain the different behaviour. So we went in with Mozilla's very helpful error console and looked at the requests. Here they are:

GET /r/Betterbird/comments/.rss HTTP/2
Host: www.reddit.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Thunderbird/140.6.0
Accept: application/atom+xml,application/rss+xml;q=0.9,application/feed+json;q=0.9,application/rdf+xml;q=0.8,application/xml;q=0.7,text/xml;q=0.7,application/json;q=0.7,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br, zstd
If-Modified-Since: Sat, 01 Jan 2000 00:00:00 GMT
DNT: 1
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

On our test with Thunderbird, we noticed that it sent:

GET /r/Betterbird/comments/.rss HTTP/2
Host: www.reddit.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Thunderbird/140.5.0
Accept: application/atom+xml,application/rss+xml;q=0.9,application/rdf+xml;q=0.8,application/xml;q=0.7,text/xml;q=0.7,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br, zstd
If-Modified-Since: Sat, 01 Jan 2000 00:00:00 GMT
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

Spot the difference? Yes, Betterbird also accepts application/feed+json and application/json since it supports JSON feeds, but more importantly the DNT: 1 header. That's the "do not track" header which gets sent when preference privacy.donottrackheader.enabled is enabled. And lo and behold, that preference was set in the profile that showed the error, but was not set in the profile used for testing with Thunderbird.

More information on Mozilla's "Do Not Track" an be found here.

So what's the take-away? Well, If something doesn't work, try it on a new profile first. You many have set a preference years ago and forgotten about it, and suddenly this preference becomes the determining factor of a new malfunction. But why suddenly a new malfunction? This is what AI had to say:

Reddit applies heuristic request filtering to unauthenticated RSS feed access. Depending on request headers, such as the presence of the DNT (Do Not Track) header, otherwise valid feed requests may be classified as automated traffic and rejected with HTTP 403. This appears to be part of Reddit’s general effort to limit uncontrolled scraping by non-browser clients, while still allowing access from regular browsers and well-known search engine crawlers.

In continuation of this post:

For decades, IMAP folder names were shown in Thunderbird with their name on the server, with the exception of localised versions, where standard IMAP folder names for special folders (Inbox, Sent, Drafts, Templates, Trash, Junk) were localised.

Every since the folder naming strategy has chancd in this ticket, users have been running a riot. The latest action is happening in this ticket. After Thunderbird's director lectured users why his way is the right way, and what was happening for more than two decades was wrong, users are getting increasingly frustrated. Here some quotes:

Director:

Regarding the folder names changing, that was a conscious decision and a wanted change to mitigate the problem of inconsistent naming from different servers.

Users:

Censorship already killed this comment: Like myself and my wife and my associates and we have have being doing it since email was invented. Many of us have multiple work, personal, family, etc, etc accounts and the braindead change just makes our lives a little bit more miserable. Thank-you for making decisions for us. It really helps. NOT!

When clicking that Spam folder, what I do see in the status bar is 'Opening folder Bulk'. Also, the Folder Properties for the folder now called 'Spam' show a 'Bulk' folder in the Location field. How is this consistent?

Not to mention the subscribe panel.

Sarcasm: Thanks for "mitigating" all my problems. Much improved user experience. 10/10 ⭐ multiple folders with the same name

I [...] hope this useless change will be reverted.

More sarcasm: what a mess! fantastic idea, really genius ...

This is an idiotic change, more dev-nanny assumptions about what users want. [...] This is not at all useful. Please fix this BACK!

multiple folders with the same name

Latest update: Now the proposal is to go back to the original state, see this ticket. Do they know what they're doing?

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.