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

The system tray support on Windows is pretty good in Betterbird, enhanced when compared to Thunderbird by an informative tooltip so check which folders contain new or unread mail: Windows system tray tooltip

Betterbird on Linux delivers the same functionality: System tray support, informative tooltip, minimise to tray, "tray icon always". It's all described in this section of our Expert Tips page.

We don't want to turn this post into another rant about Thunderbird, so it suffices to say that Thunderbird despite their new implementation in Rust here and here never pulled it off, their effort silently died off, and they never paid attention to a string of outstanding problems linked as dependents of this meta bug. The current state of Thunderbird affairs is that only Daily shows a permanent, fixed and pretty useless system tray icon with "Thunderbird Daily" as a tooltip - wow!

Now, with the advent of Wayland, system tray support has run into various issues:

For starters, Wayland doesn't have a concept of minimising windows, yes, you read correctly. Refer to these discussions: Gnome-Gtk and Free Desktop. Some quotes from the first reference:

Wayland does not have a concept of iconified windows.
I would suggest that we rename iconified to minimized in gtk4.
There is no minimize support in either the xdg-shell or the gtk-shell protocols; surfaces can request minimization, but ...
Plus, there's no state for minimization, which means we cannot set the state on configure, like we do for maximize/fullscreen.

Since Wayland doesn't have a concept of minimising, no minimise event is sent to a window that is being minimised, which is documented here. In Betterbird, we implemented a hack where our own code generates the missing event, when Betterbird's own control to minimise is clicked.

So it's understandable that the system controls on the system title bar don't work (reported here and here) system title bar

where as the controls drawn by Betterbird into the menu bar work: titlebar buttonbox container

Also not working: Clicking taskbar buttons, or pressing "minimise window" keyboard shortcuts that the window manager may offer, reported here.

To add insult to injury, there was a time when restoring a window from the system tray caused a graphics glitch, but that seems to have been fixed by changes in the Mozilla platform in Betterbird 140.

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.

We already talked about ghost menus in this article. Here is some more information.

For some users these ghost menus (occasionally) happen, when this Windows performance option is selected: enter image description here

This setting determines the internal value of preference ui.prefersReducedMotion, for those interested in code, this can be found here. The problem in Betterbird was that we exposed the preference, and set its value to 0 with the effect that the system behaved as if the Windows performance option were set. Since Betterbird 140.6.0 the preference is no longer set and its internal value depends on the Windows option again.

To get rid of the ghost menus there are three options:

  • Switch off the Windows performance option
  • Set preference ui.prefersReducedMotion to a value of 1
  • Set preference widget.windows.mica.popups to a value of 0.

The root cause of the issue is that the newly introduced translucent mica menus aren't stable enough in the Mozilla platform code at version 140. Users who wish to have animation should switch off those menus. In later versions of the Mozilla platform code, the problem appears to be fixed.

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.