Live data from Hacker News

Thunderbird 140 “Eclipse”

blog.thunderbird.net

121–130 of 297 posts

Re: Thunderbird 140 “Eclipse”

#121
post #76
post #62

Earlier quoted context omitted.

I would not want my email client to be relying on such brittle and incorrect heuristics. A better workaround would be to keep deleted emails around for some time so users have the option to restore them if the bug triggers. But this has drawbacks such as potential privacy breakage (you meant to delete mails you don't want the chance that anybody sees it) or free disk space management (your local drive is overloaded a…

Just do a complete rewrite in rust, that will solve all the issues

Except the bug was filed in 2008. Back then, Rust was Graydon Hoare's personal project that Mozilla wouldn't start funding until a year later. Rust was written in OCaml and the famed borrow checker wouldn't be in place until 2010. The first public release was v0.1 in 2012 and the first stable release 1.0 wouldn't happen till 2015. The language was very different back then with sigils, garbage collection and green threading as language features. So this bug was already bugging people when Rust was just an embryo that was still years away from birth.

Now even if we neglect the timeline, Rust only guarantees memory safety. If TB is deleting mails on the server too, then the corruption is happening over IMAP connections as well. Does that sound like a memory safety bug to you? Perhaps it is. But how do we eliminate the possibility of a logical bug that Rust won't protect you against, when nobody has any clue even now? And all that aside, if you're going to rewrite it in Rust, you might as well start a new project in Rust instead of porting an old design that may potentially contain a language-agnostic logical Heisenbug.

I'm not trying to be hostile here. I started using Rust in 2013 (I have 12 years of experience in a 10 year old language, and a bunch of repos that I can't compile anymore unless I compile the compiler from old commits somehow!). I wouldn't use C or C++ for any of these applications - I simply don't have enough competence to avoid the kind of bugs that Rust protects me from (despite being a hardware engineer with more knowledge about memory management than about type system theory). Despite all that, statements like this will only cause an unwanted backlash against Rust. Not that you're entirely wrong, but some people are so offended by such suggestions for reasons that are still under investigation, that they start a crusade against Rust [1].

[1] https://fosstodon.org/@goku12/114077011555069124

Re: Thunderbird 140 “Eclipse”

#122
post #99

Earlier quoted context omitted.

Honestly? It might.

Only by being a statistically different code base, unless you think this is a memory safety bug?

Looking at the various issues reported in this thread, it honestly seems that burning the entire codebase and rewriting it would be the best choice. Bonus points for using a modern systems programming language.

Re: Thunderbird 140 “Eclipse”

#123

Earlier quoted context omitted.

> But it is almost impossible to fix a bug you can't reproduce and have no clue why it might be happening. No, not at all. It's very easy. This bug involves taking an inappropriate action under corrupted conditions. You don't need to know how those conditions arose. All you have to do is check whether they currently obtain, and - if so - refrain from taking the inappropriate action. For this bug, that looks like this…

I try to never underestimate the incompetence/lack of concern people can have when it comes to addressing major product issues, but if this has been open for 17 years and is so widely known, somebody has surely looked into it and determined it’s not so easy.

and then they simultaneously determined "yeah, we might eat your data. Lets not warn anyone about that AT ALL, lets keep the feature activated and let them users lose their data". This behavior ought to be criminal.

Re: Thunderbird 140 “Eclipse”

#124
post #61
post #58

Earlier quoted context omitted.

Well, I do think the thundebird team should investigate and fix this. But it is almost impossible to fix a bug you can't reproduce and have no clue why it might be happening.

if (!user_requested_mass_delete && delete_requests_past_second > 10) throw(“we sure seem to be deleting a lot of stuff from the server”)

A better approach might be to feed all of this into an LLM to have it figure it out. If it finds a bug and has a fix, reproducing it might be easier and a test could potentially be written.

I don’t think LLMs are the answer to everything, but this would be a good test for newer generations of LLMs as they’re developed.

Worst case- it deletes all of your emails, but that would’ve happen anyway, right? =)

Re: Thunderbird 140 “Eclipse”

#125
post #121
post #76

Earlier quoted context omitted.

Just do a complete rewrite in rust, that will solve all the issues

Except the bug was filed in 2008. Back then, Rust was Graydon Hoare's personal project that Mozilla wouldn't start funding until a year later. Rust was written in OCaml and the famed borrow checker wouldn't be in place until 2010. The first public release was v0.1 in 2012 and the first stable release 1.0 wouldn't happen till 2015. The language was very different back then with sigils, garbage collection and green thr…

The op is being facetious

Re: Thunderbird 140 “Eclipse”

#126

Earlier quoted context omitted.

I try to never underestimate the incompetence/lack of concern people can have when it comes to addressing major product issues, but if this has been open for 17 years and is so widely known, somebody has surely looked into it and determined it’s not so easy.

and then they simultaneously determined "yeah, we might eat your data. Lets not warn anyone about that AT ALL, lets keep the feature activated and let them users lose their data". This behavior ought to be criminal.

It's not criminal, but you're entitled to a full refund of Thunderbird in the event it happens.

Re: Thunderbird 140 “Eclipse”

#127
post #99

Earlier quoted context omitted.

Honestly? It might.

Only by being a statistically different code base, unless you think this is a memory safety bug?

Safety in rufst is not only about memory safety. It’s also about avoiding unpredictable behavior.

Re: Thunderbird 140 “Eclipse”

#128

Could they just make it not suck? Like the search system falls apart if you have more than a few thousand messages in a folder, not all that many by today's standards. The address book doesn't let you sort the addresses by most recently added, which is important if you reply to craigslist posts which use numeric forwarding addresses. So once you have more than a handful of them the are impossible to tell apart. It au…

Check out what we're building: https://marcoapp.io Basically a cross-platform Thunderbird replacement whose sole goal is to "not suck". Full-text search is entirely client side (not via IMAP) and returns results in single-digit ms.

>Full-text search is entirely client side (not via IMAP)

Setting up server-side Xapian full-text search and disabling the crap client-side one in Thunderbird was one of the best improvements I made to my email usability. What makes your client-side search better? It's usually not speed I'm looking for, but rather precision, such as double quoted phrases (sorely missing from Thunderbird's client-side search), filtering by a mixture of things, etc.

I wish more clients had an option for server-side-only search (looking at you, iOS Mail.app) and/or had a nice UI for it (ctrl+shift+f dialog in Thunderbird is janky but gets results)

Re: Thunderbird 140 “Eclipse”

#129
post #116

Earlier quoted context omitted.

You know what else they could do? They could disable a feature that deletes large volumes of email the user doesn't intend to delete.

I don’t remember the last time I deleted an email. I’ve marked things as spam, archived things but not deleted in a long while.

I delete email everyday.

Re: Thunderbird 140 “Eclipse”

#130
The only feature I am missing in Thunderbird is “group by sender, sort groups by latest receive date in group”. I don’t remember what client I used that had this (outlook, perhaps?) but for me it works so much better than other arrangements:

You still see all the latest correspondence, but also immediately all previous correspondence from the same sender (if you expand the group) whether or not it’s a reply thread.

Post reply on HN