Live data from Hacker News

Thunderbird 140 “Eclipse”

blog.thunderbird.net

251–260 of 297 posts

Re: Thunderbird 140 “Eclipse”

#251
post #226

Earlier quoted context omitted.

You counter the facetiousness in a way it stops spreading and possibly even spark a constructive discussion is how I understand it (ESL though). I certainly observed this phenomenon myself (although as the person being facetious, I often feel like "I was joking, I actually agree, that's indeed what I was actually implying, but good you made it clear and explicit I guess") I guess you'd disarm the person being facecio…

> I guess you'd disarm the person being facecious rather than the facetiousness No, you disarm the facetiousness, the same way you'd disarm a trap. Disarming the person wouldn't make sense. https://en.wiktionary.org/wiki/disarm > 2. ( transitive ) To deprive of the means or the disposition to harm; to render harmless or innocuous. > [quotations] to disarm a man's wrath

Interesting, in French, you can both disarm someone or a gun.

https://fr.m.wiktionary.org/wiki/d%C3%A9sarmer

Re: Thunderbird 140 “Eclipse”

#252

Earlier quoted context omitted.

> Like the search system falls apart if you have more than a few thousand messages in a folder I'm in the inbox, I see an email with 'word' in the Subject in some of the most recent emails. I type 'word' in the search box and TB finds some emails from the years ago. It's even worse if it is 'word and some another word', in this case it doesn't even find anything. It's like the developers... aren't dogfooding their ow…

The two search boxes is bizarre. It feels like two rival programmers each wrote a half-baked search feature and rather than management telling them "Unify your two approaches", instead they said "Just throw them both in there and let the user figure out which one they want."

There aren't two search boxes. There is a search box in/below the titlebar and a filter for the current folder.

Re: Thunderbird 140 “Eclipse”

#253

Earlier quoted context omitted.

> You have to remember that when Gmail was launched it was considerably better than most desktop mail clients at the time. It was not better for me than old FIDONet GoldEd 2.8x! It didn't (and doesn't) support proper threads, it supports effectively only top-quoting, it didn't (and doesn't) understand mailing lists in any way, it didn't support forward-as-attachment in both ways (now it supports it, though). Its filt…

How do you do Gmail style threading view in thunderbird ? They changed the game wrt email display and 20 years later I still don’t know how to get thunderbird to do it. Gmail: - see all email bodies for a single conversation in one long list , like a DM in a messenger, with smart hiding of quoted text so you only see new content - in your inbox / archive view, mix both sent and incoming emails in such conversations,…

Context menu > Show message in conversation

Re: Thunderbird 140 “Eclipse”

#255

I have not used Thunderbird in 15 years, but I'm desperate for a decent email client. I've used Spark, Mailspring, Airmail...but I keep coming back to the MacOS Mail app. Any active users of Thunderbird who chose it over the default Mac mail client? Does it have a unified inbox for all your accounts? Dark mode looks neat, at least.

try Mimestream

Re: Thunderbird 140 “Eclipse”

#256
post #251

Earlier quoted context omitted.

> I guess you'd disarm the person being facecious rather than the facetiousness No, you disarm the facetiousness, the same way you'd disarm a trap. Disarming the person wouldn't make sense. https://en.wiktionary.org/wiki/disarm > 2. ( transitive ) To deprive of the means or the disposition to harm; to render harmless or innocuous. > [quotations] to disarm a man's wrath

Interesting, in French, you can both disarm someone or a gun. https://fr.m.wiktionary.org/wiki/d%C3%A9sarmer

You can disarm a person in English, but you can't disarm them of their mood.

Re: Thunderbird 140 “Eclipse”

#257
post #251

Earlier quoted context omitted.

Interesting, in French, you can both disarm someone or a gun. https://fr.m.wiktionary.org/wiki/d%C3%A9sarmer

You can disarm a person in English, but you can't disarm them of their mood.

In French neither, I took this as a figure of speech where facetiousness is likened to a weapon.

Re: Thunderbird 140 “Eclipse”

#258

Earlier quoted context omitted.

There are users in the comments here reporting the issue affects them. Would some noble purpose be served by closing the existing issue in the hope that they'll complain via more official channels?

Hopefully those people will report the issue in the bug report and try to help the devs reproduce the issue. Especially since it is linked.

I don't think one more user report is going to be the difference that pushes them over the finish line after two decades. Let's not pretend the developers have been taking this bug seriously.

Re: Thunderbird 140 “Eclipse”

#259
post #58

Earlier quoted context omitted.

See, you don't understand. Fixing the bug before reproducing it would violate the process .

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.

Reproducing bugs is a luxury and not even close to required for analyzing and fixing issues. Even if the issue is external (hardware, antivirus, etc.), the code can be changed to be more defensive and only ever delete the original when the new data has been successfully written and verified.

Re: Thunderbird 140 “Eclipse”

#260
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.

Reproducing bugs is a luxury and not even close to required for analyzing and fixing issues. Even if the issue is external (hardware, antivirus, etc.), the code can be changed to be more defensive and only ever delete the original when the new data has been successfully written and verified.

A luxury? Not even close to required? You are not afraid of words! I'm not looking forward to receive a bug report from you!

Yeah, reproducing is not theoretically mathematically necessary. In theory you could prove your code is correct with formal methods¹. Now, nobody does this because it is impractical (borderline impossible), reproducing is in practice so useful as to be almost essential:

- it lets you study how your code behave in the problematic case and identify what's causing the exact issue the user is seeing

- it lets you check that your fix does indeed address the bug

I have indeed already fixed trivial bugs without reproduction cases from a vague description of a bug because I'm intimately familiar with the code and it immediately rings a bell: the cause is immediately obvious. But that's not the usual case.

> the code can be changed to be more defensive and only ever delete the original when the new data has been successfully written and verified.

What if the code is already designed like this (and I sure do hope it is currently written like that, because that's almost common sense, if not the only sensible way of moving something) but somehow fails for some currently inexplicable reason? It smells race condition to me.

In the case of the discussed bug, users have described a reproduction case that's not 100%. But someone will need to find a 100% reproduction case. Users, or devs. It will not be optional. You can't play a guessing game, attempt to fix the code and hope for the best. You might be able to actually fix the bug, but without much confidence. Best case, you'll be able to find a reproduction case after fixing the bug (that you'll probably use as a functional test), to prove you fixed the bug for this specific case you found. You'll not be 100% sure you addressed the user's case.

A bug can hide another one, so you could find and fix a bug, but the issue is still present in the user's case. You can only be sure with their reproduction case.

But I agree that it is hard to reproduce a race condition.

¹ which in practice applies to code of trivial size (static analysis), or consists in checking a model but not the actual implementation (model checking), or does apply useful checks but is not exhaustive and has false positives / negatives (static analysis), or does apply useful exhaustive checks but only on a limited number of executions (runtime verification, and we do have functional tests that serve a similar purpose in practice - and you'll actually need the reproduction case here so you have the right execution to check), or requires you to write your code in a specific language (stuff like coq) and you cross your fingers that this specific language's implementation is itself correct. In short: not applicable here.

Post reply on HN