A very traditional way to run a mail system is to have the mailserver store the user's mail in their home directory, typically in either maildir or mbox format. Mail clients can then read mail directly from the same place the mail server stores it, rather than having to maintain their own copy. This is a very handy optimization and a lot of "traditional" (read: TUI) mail clients fully support and, indeed, were primarily designed to be used this way. Common TUI mail clients tend to assume a local maildir or mbox, and accessing mail boxes via IMAP is a feature bolted on later, sometimes a bit awkwardly.
A major advantage is that it allows all of the mail tools you might use to operate on the same working copy of your inbox, saving a lot of time synchronizing things. This was a lot more important historically when a typical Unix user would probably have a few different tools they used for mail, like a full-on TUI mailbox viewer and a couple of CLI tools.
I don't find it very compelling that Thunderbird needs to add this functionality, because that's a pretty old-fashioned way of running mail that you probably won't see outside of technical universities and other institutions with a very "traditional" approach to their systems. That's the use-case, though, and I do see that if you are in an environment where your mail is already present in your home directory, or you use multiple mail clients, it would be annoying that Thunderbird can't operate this way when a lot of its contemporaries can.
It's practically more of an issue, though, because Thunderbird kind of supports it, it's just incomplete. That makes it feel less like a feature Thunderbird doesn't have and more like a bug.
if thunderbird doesn't support maildir, either you can't store your email in a maildir, or you can't use thunderbird. maildir has some real advantages, and so does thunderbird, and it would be nice to be able to combine them
Fetchmail on my laptop fetches messages from the IMAP server and procmail + postfix delivers them (after some mangling) to the maildir in my home directory. So whatever mail client I use needs to be able to read that.
Maildir is probably the best way to handle multiple readers one mail source, ie, reading your mail from two+ locations, two+ operating systems, whatever.
IMAP just kludges, and you end up with situations like I have, where thunderbird frequently reports that one mailbox is 'locked' because thunderbird crashed while accessing it several years ago and who knows how to get gmail to forget about imap 'locks'.
> thunderbird frequently reports that one mailbox is 'locked' because thunderbird crashed while accessing it several years ago
That's a lockfile left over on the local filesystem. That's caused by Thunderbird having two threads open on the same folder (i.e. you ran 'update all folders' and then 'compact folders' and they're overlapping)
If you open TB, let it sit for a while, then do file>offline>sync now - then let it complete - make sure all the folders are selected for local download (if this is applicable or viable for your use case)
then wait a while
then do 'compact folders'
it shouldn't happen again
You might also want to go into the 'account settings' and turn 'maximum number of server connections to cache' down to 2 - some IMAP servers get really bothered if you open too many connections to them. It's meant to autoadjust but it doesn't always. 2 lets you have one connection always open to the inbox for push mail and one available for working on other folders.
Yeah TB behaves a lot nicer when you have a 100% complete snapshot of the IMAP account locally; a lot of things in it seem to work a lot faster and more predictably when all the folders are fully synced.
I'd run that 'offline->download/sync' every week or so. It'll automatically sync every folder you open, but running that syncs them all, and if you're an organisation fiend like me you have like 100 folders.
In addition you can take a manual backup of your email now by just zipping up the thunderbird profile folder. Always useful.
Oh man, he'd been on our (Xfce) mailing list for a while, sending a ton of merge requests for various cleanups to our window manager and other components. While I wouldn't say what he was doing was completely useless, it was generally not super helpful, didn't really need to be done, and mainly just caused code churn. On my less charitable days it felt like he was just trying to get his name out there and into the commit history of a lot of projects, but the time and effort he was spending was probably too much if that was the motivation.
Several of his MRs ended up becoming out of date and full of merge conflicts because of other work that was being done, and it just seemed like a waste of time to me.
Someone downthread posted a link where Linus Torvalds himself excoriates this guy for posting anti-vaxxer nonsense to the lkml. That... really takes the cake.
This kind of energy should ideally be molded and funneled into more useful project needs, if they are focusing on trivial cleanups. An enthusiastic free worker comes off as a useful thing.
Fair point, but most of us on the team don't really have much time to spare to work on the project at all, let alone for mentorship, unfortunately. We'd rather be writing our own code, and taking contributions from people who don't require a lot of hand-holding. And it's not like this guy is an entry-level developer. He's clearly been doing it for a while, and is skilled. More like he needs to be taught how to interact with other developers on the internet in order to contribute without turning into a burden on others' time. Unfortunately I don't have the time (or patience, really) to teach that sort of thing.
I’ve never interacted with this person in particular, but your description makes me feel seen. It so perfectly describes interactions I’ve had - where a clearly well meaning and in some ways capable developer makes tons of change requests, which are sort of neutral or maybe slightly positive even, but take up so much effort to incorporate relative to their value that it’s just not worth it, and in my estimation would be better off disappearing.
Often times, when I do work with them to get their changes merged, I’m tempted to make similar changes myself, rather than workshop pull requests for days and weeks. Not because I think the changes are even worthwhile to incorporate, but because it’s less painful than the back and forth to get their changes up to snuff - but “stealing their idea” is socially awkward for its own reasons.
There’s also sometimes a bias towards merging unless you find a problem, so it can feel really antagonistic. Strangers on the internet become your task masters to an extent.
The common reactions I see to not wanting these kind of contributions are “You’re looking a gift horse in the mouth!” Or “It would go more smoothly if you spent more time unwillingly being a Manager for strangers on the internet” or “You’re gate keeping.” To an extent I suppose all these things are true. But, that doesn’t mean it’s the wrong decision. It can be frustrating to experience and difficult to explain if you haven’t been in the position.
Anyway, it’s nice to hear someone else articulate my experience. It makes me feel less crazy. So I wanted to partially return the favor and say also that you may not be crazy.
That's pretty much been the status quo for us for 20+ years now, and yet we're still chugging along, making regular major releases every 2 years, with bugfix releases periodically in between. I worked on it from 2004 to 2009, took a long break, and got involved again about a year and a half ago. The cast of characters (aside from the original project creator) have all changed, but there's still enough interest to keep things going.
And sure, maybe that will change someday, and interest will fade, and the project will end up unmaintained. That'd be a shame, but that's fine. Doesn't invalidate or make useless what we're doing now, and doesn't mean our users need to make any big plans to change their workflows.
I don't often get the chance to talk to people that work on software I've used every day for years and years - so thank you for all of your work on XFCE. It's a fantastic project that 'just works'.
This is one of the most uncharitable views I think you could take. You don't seem to have a nice thing to say about him. And have managed to pack a bit of negative insinuation in without any actual evidence or substance.
Frankly, the dude is involved in cleaning up X.org code that is otherwise verging on unmaintainable. The appropriate response is a shrug and a "thanks". Backbiting is generally the wrong approach to attempted OSS contributions. If you have problems with his PRs go bring them up with him.
There was a talk a long time ago (sorry, can't credit it) where the speaker pointed out that some contributors end up providing net negative value to the project: the value of their contributions is outweighed by the amount of time spent interacting with them in bug reports or the like.
There are two reports in this thread of the contributor here derailing a conversation with something irrelevant. Another report is of him providing low benefit/high noise patches. If you start reading the mailing list posts linked up thread, his contributions to X.org seem to be veering in this direction too: the most recent idea is to... replace include guards with #pragma once. He was called out for this by the X.org maintainers (see https://lists.x.org/archives/xorg-devel/2024-February/059159...).
This bit from that reply covers a lot of how his changes felt to me:
> Looking at this particular thing, what problem are you trying to solve? The existing header files already have the protection in place where it matters. And I don't expect why software that's mostly just in maintenance mode would see a lot of new header files being added.
Quite a few of his changes seemed to me to have the motivation of "I like it better this way and think you should adopt my sense of taste". If you expressed interest in becoming a maintainer of one of our not-so-well-maintained components, then sure, go nuts. But changing a bunch of stuff to your style in code that I have to continue to maintain? No thanks.
It wasn't all like this; one MR I recall changed the names of a bunch of constants so they'd be consistent with each other and what they were for (e.g. prefixing things in a certain way depending on if they were configuration key names, default values, etc.). That I do think was useful. Unfortunately I think that particular MR ended up not working out, because he never talked to me about his ideas in the first place, and I had a branch I'd been working on for a few weeks that, when merged, made his work full of merge conflicts and ultimately not as necessary anymore. And that was part of the issue: if he would have discussed the changes with me beforehand, I would have said "sure, that sounds useful, but you might want to wait a week or so until I merge this feature branch, which is going to change a lot of the code you're going to touch". But... nope, he wanted to lone-ranger it.
Maybe don't criticize without knowing the full situation, eh? Your uninformed, holier-than-thou attempt at dressing me down isn't particularly useful.
Guy was a pain on the mailing list (and occasionally on IRC, too), nagging for code reviews and merges, against a team of part-time volunteers. He'd open many merge requests in a short time span, most of them changing a fair bit of code, some doing some mid-sized refactoring. Very rarely would he discuss his changes with the maintainers before making them.
And when someone disagreed with his approach, he'd get testy and push his point of view harder. Not a team player, not someone I'd ever want to work with, whether on a volunteer open source project or in a professional paid work setting.
> The appropriate response is a shrug and a "thanks".
Not if the contributions (and interactions with the contributor) create a lot of make-work for the maintainers where the benefit is unclear or known to be fairly low. I'm certainly not going to thank someone for creating more work for me that doesn't need to be done.
> If you have problems with his PRs go bring them up with him.
The problems were mostly "this doesn't need to be done, and you're changing the code from something I already know to something I don't, and I'm the one who has to navigate and maintain it, so this will be a net negative to me". And yet... the MRs kept coming.
I'm not going to claim the existing code is the best code in the world; some of my parts were written by me 15-20 years ago when I was fairly junior, and it could use some improvement. But going in and changing things without first talking to a maintainer is not the way to do it.
Don't get me wrong, some MRs ended up getting merged. Some of the maintainers did think that some of them were useful. But it felt like sorting through all of it to figure out what was actually useful, was more effort than it was worth.
If he's causing you stress migraines over in Xfce land, go ban him over there. You're wasting your time trying to convince me you don't like his work, and you're still not going with evidence or substance of a problem. Some people raise a lot of PRs.
> Maybe don't criticize without knowing the full situation, eh? Your uninformed, holier-than-thou attempt at dressing me down isn't particularly useful.
My key complaint, you'll note, is that you aren't providing any details of the full situation and those that you are providing are uncharitable takes. I mean, you're being nasty to the dude and your complaint seems to be he isn't a senior dev. Fair enough. If you only want to review PRs by senior devs, warn the fellow then block him [0]. Don't go with public shaming as a strategy; HN is a big forum forum, the dude isn't here and he's presumably working under his real name.
If you want to be mean because he's done something go ahead. But unless you're going to say he's actually done something bad, I'm going to note you're being mean without a complaint and that is poor form.
> And when someone disagreed with his approach, he'd get testy and push his point of view harder.
I can't pass that by without noting some irony, given the comment it is in context of.
Software devs are known for this.
[0] I speak loosely. Mr Lots of PRs could be anyone for all I know.
> My key complaint, you'll note, is that you aren't providing any details of the full situation and those that you are providing are uncharitable takes.
You're replying to a post where I just provided more details! Regardless, everything everyone posts here is their opinion, and I'm entitled to mine. You don't have to take my word for it, you can be skeptical, you can think I'm an asshole and a blowhard... that's all fine, and is your prerogative.
> I mean, you're being nasty to the dude and your complaint seems to be he isn't a senior dev. Fair enough.
Seems like it's not "fair enough", since you seem to take such exception with my point of view. I don't think he's not a senior dev -- or rather, I think he's a fairly senior programmer, but isn't so senior in the sense of how he works with other developers. That's a skillset that unfortunately some people don't learn as quickly as they learn to code.
> Don't go with public shaming as a strategy; HN is a big forum forum, the dude isn't here and he's presumably working under his real name.
I don't have a "strategy" here; I'm merely responding to the topic in the thread at hand. If you don't find my point of view valuable, fine, downvote it (or flag it, if you think it's particularly egregious), and move on. If you think it's crass of me to air my opinion of someone else on HN, that's fine too, but I'm still permitted to share that opinion if I feel like it.
> If you want to be mean because he's done something go ahead. But unless you're going to say he's actually done something bad, I'm going to note you're being mean without a complaint and that is poor form.
I don't really see myself as being mean; you claim I haven't said what he's done, and yet you've just replied to a post where I've given more detail into what I believe he did wrong. If you're going to choose to ignore it, or decide it's not "enough" based on whatever rubric you've chosen, then I'm not really sure what to tell you.
> > And when someone disagreed with his approach, he'd get testy and push his point of view harder.
> I can't pass that by without noting some irony, given the comment it is in context of.
> Software devs are known for this.
Hah! Fair point. I think the difference here is that he was an outsider, poking into an established project, trying to push his views on others, when those views were not agreed with. And then continued to push them after being told they weren't agreed with.
> I don't really see myself as being mean; you claim I haven't said what he's done, and yet you've just replied to a post where I've given more detail into what I believe he did wrong. If you're going to choose to ignore it, or decide it's not "enough" based on whatever rubric you've chosen, then I'm not really sure what to tell you.
Well; yeah. I think what you've said is what you have - you got a bad vibe on the fellow, found him annoying but aren't in a position to back the sense up with anything specific. No actual situations were problematic enough to point at and a code contribution eventually got merged. You're listing a bunch of things where the charitable take is "this sounds pretty normal". The dude wrote a lot of code without talking to the maintainer first; he thought what he was doing was a good idea and the maintainers got a bit exasperated interacting with him. Nothing there justifies the mean comment, I'd suggest most people have done that somewhere at some point. Random unnecessary rewrites is literally how I get to know new codebases, although I usually delete them rather than trying to get them merged but if they were technical improvements I could see myself giving it a shot.
Given your response to a relatively mild dose of feedback on backbiting; I think you probably can figure out why I see the comment as mean. I haven't impugned your motives or questioned your technical competence and you jumped pretty quickly to seeing an "uninformed, holier-than-thou attempt at dressing me down". Maybe this dude is the next Hans Reiser, but even then if you're going to go at some random contributor's reputation it'd be fair to have some specifics. Dates, links and examples that showcase abnormal behaviour to a bar where it needs to be shared.
> ...you can think I'm an asshole and a blowhard...
You might be expecting people to read a bit too much into comments? As far as I know we've exchanged 3; that isn't enough to get a great clear read on someone outside the topic at hand. Let the records record that I'm not seeing obvious personality tells in your comments. We're all in it together.
> If you don't find my point of view valuable, fine, downvote it
Fun fact; I practically don't downvote things. And the last comment I flagged was in 2022. Either something gets ignored or I post a comment. Downvotes are too ambiguous a signal.
Isn’t it true that Thunderbird sixteen years later still lacks complete and first-class maildir support?