So check it out: Mastodon decided to implement follower-only posts for their users. All good. They did it in a way where they were still broadcasting those posts (described as “private”) in a format that other servers could easily wind up erroneously showing them to random people. That’s not ideal.
Probably the clearest explanation of the root of the problem is this:
Something you may not know about Mastodon’s privacy settings is that they are recommendations, not demands. This means that it is up to each individual server whether or not it chooses to enforce them. For example, you may mark your post with unlisted, which indicates that servers shouldn’t display the post on their global timelines, but servers which don’t implement the unlisted privacy setting still can (and do).
Servers don’t necessarily disregard Mastodon’s privacy settings for malicious reasons. Mastodon’s privacy settings aren’t a part of the original OStatus protocol, and servers which don’t run a recent version of the Mastodon software simply aren’t configured to recognize them. This means that unlisted, private, or even direct posts may end up in places you didn’t expect on one of these servers—like in the public timeline, or a user’s reblogs.
That is super relevant for “private” posts by Mastodon. They fall into the same category as how you’ve been voting on Lemmy posts and comments: This stuff seems private, because it’s being hidden in your UI, but it’s actually being broadcasted out to random untrusted servers behind the scenes, and some server software is going to expose it. It’s simply going to happen. You need to be aware of that. Even if it’s not shown in your UI, it is available.
Anyway, Pixelfed had a bug in its handling of those types of posts, which meant that in some circumstances it would show them to everyone. Somebody wrote on her blog about how her partner has been posting sensitive information as “private,” and Pixelfed was exposing it, and how it’s a massive problem. For some reason, Dansup (Pixelfed author) taking it seriously and fixing the problem and pushing out a new version within a few days only made this person more upset, because in her (IMO incorrect) opinion, the way Dansup had done it was wrong.
I think the blog-writer is just mistaken about some of the technical issues involved. It sounds like she’s planning on telling her partner that it’s still okay to be posting her private stuff on Mastodon, marked “private,” now that Pixelfed and only Pixelfed has fixed the issue. I think that’s a huge mistake for reasons that should be obvious. It sounds like she’s very upset that Dansup made it explicit that he was fixing this issue, thinking that even exposing it in commit comments (which as we know get way more readership than blog posts) would mean people knew about it, and the less people that knew about it, the safer her partner’s information would be since she is continuing to do this apparently. You will not be surprised to discover that I think that type of thinking is also a mistake.
That’s not even what I want to talk about, though. I have done security-related work professionally before, so maybe I look at this stuff from a different perspective than this lady does. What I want to talk about is this type of comments on Lemmy, when this situation got posted here under the title “Pixelfed leaks private posts from other Fediverse instances”:
Non-malicious servers aren’t supposed to do what Pixelfed did.
Pixelfed got caught with its pants down
rtfm and do NOT give a rest to bad behaving software
dansup remains either incompetent for implementing badly something easy or toxic for federating ignoring what the federation requires
i completely blame pixelfed here: it breaks trust in transit and that’s unacceptable because it makes the system untrustworthy
periodic reminder to not touch dansup software and to move away from pixelfed and loops
dansup is not competent and quite problematic and it’s not even over
developers with less funding (even 0) contributed way more to fedi, they’re just less vocal
dansup is all bark no bite, stop falling for it
dansup showed quite some incompetence in handling security, delivering features, communicating clearly and honestly and treating properly third party devs
I sort of started out in the ensuing conversation just explaining the issues involved, because they are subtle, but there are people who are still sending me messages a day later insisting that Dansup is a big piece of shit and he broke the internet on purpose. They’re also consistently upset, among other reasons, that he’s getting paid because people like the stuff he made and gave away, and chose to back his Kickstarter. Very upset. I keep hearing about it.
This is not the first time, or even the first time with Dansup. From time to time, I see this with some kind of person on the Fediverse who’s doing something. Usually someone who’s giving away their time to do something for everyone else. Then there’s some giant outcry that they are “problematic” or awful on purpose in some way. With Dansup at least, every time I’ve looked at it, it’s mostly been trumped-up nonsense. The worst it ever is, in actuality, is “he got mad and posted an angry status HOW DARE HE.” Usually it is based more or less on nothing.
Dansup isn’t just a person making free software, who sometimes posts angry unreasonable statuses or gets embroiled in drama for some reason because he is human and has human emotions. He’s the worst. He is toxic and unhinged. He is keeping his Loops code secret and breaking his promises. He makes money. He broke privacy for everyone (no don’t tell me any details about the protocol or why he didn’t he broke it for everyone) (and don’t tell me he fixed it in a few days and pushed out a new version that just makes it worse because he put it in the notes and it’ll be hard for people to upgrade anyway so it doesn’t count)
And so on.
Some particular moderator isn’t just a person who sometimes makes poor moderation decisions and then doubles down on them. No, he is:
a racist and a zionist and will do whatever he can to delete pro-Palestinian posts, or posts that criticize Israel.
a vile, racist, zionist piece of shit, and anyone who defends or supports him is sitting at the table with him and accepts those labels for themselves.
And so on. The exact same pattern happened with a different lemmy.world mod who was extensively harassed for months for various made-up bullshit, all the way up until the time where he (related or not) decided to stop modding altogether.
It’s weird. Why are people so vindictive and personal, and why do they double down so enthusiastically about taking it to this personal place where this person involved is being bad on purpose and needs to be attacked for being horrible, instead of just being a normal person with a variety of normal human failings as we all have? Why are people so un-amenable to someone trying to say “actually it’s not that simple”, to the point that a day later my inbox is still getting peppered with insistences that Dansup is the worst on this private-posts issue, and I’m completely wrong and incompetent for thinking otherwise and all the references I’ve been digging up and sending to try to illustrate the point are just more proof that I’m horrible?
Guys: Chill out.
I would just recommend, if you are one of these people that likes to double down on all this stuff and get all amped-up about how some particular fediverse person is “problematic” or “toxic” or various other vague insinuations, or you feel the need to bring up all kinds of past drama any time anything at all happens with the person, that you not.
I am probably guilty of this sometimes. I definitely like to give people hell sometimes, if in my opinion they are doing something that’s causing a problem. But the extent to which the fediverse seems to like to do this stuff just seems really extreme to me, and a lot of times what it’s based on is just weird petty bullying nonsense.
Just take it it with a grain of salt, too, if you see it, is also what I’m saying. Whether it comes from me or whoever. A lot of times, the issue doesn’t look like such a huge deal once you strip away the histrionics and the assumption that everyone’s being malicious on purpose. Doubly so if the emotion and the innuendo is running way ahead of what the actual facts are.
A great example is his handling of Laravel, scaling, and Docker. It’s pretty clear that he doesn’t have a huge understanding of Docker - or at least hasn’t managed docker images at scale. A huge thing there that I ran into constantly is that the Pixelfed containers both are 1) Stateful and worse than that 2) depend on each other’s volumes. These are both anti patterns specifically called out in the docker best practices. It ultimately means that the Pixelfed containers must share the same host as it’s workers. He put a lot of time and effort into building scripts that would simplify the setup for a docker compose file, but never thought horizontally - scaling these containers out on a cluster or separating workers off away from the web-api nodes at all.
I spent 3 weeks trying to de-tangle that all and got nowhere. I’ve been watching the guys over at Pixelfed Glitch ( a fork of pixelfed ), and from what I see they’re trying to do the same thing. I wish them godspeed. Until then, I can’t recommend Pixelfed as it just can’t horizontally scale. Sure you can throw a more expensive machine at the problem, but that’s not a fix.
As for the last, I don’t have any examples - and I think that’s because no one else has gone on a press junket like he has. The owners of Mastodon started a foundation a while back, I think that’s the most official news I’ve heard out of them. I think that’s what bothered me - for the vast majority of people that was their first chance to hear about the open web. Instead of saying “We have a thing called the fediverse. I’ll spare you the details but you can choose Pixelfed, Mastodon, even Wordpress or many others, and they all work together”. Instead all I heard anywhere was Pixelfed. Feel free to call BS there, maybe he did somewhere and I just missed it.
“Doesn’t scale because the containers are set up wrong” is different from “unmaintainable code” though. What of the code was bad? I’ve looked at a bunch of fedi projects and Pixelfed didn’t strike me as either particularly good or particularly bad.
?
I mean, that is sort of what I expected. Mastodon doesn’t publicize Wordpress. Lemmy doesn’t publicize mbin. They all, mostly, mention a little bit of the context that they can interoperate with other federated services, but it doesn’t strike me as weird or malicious that someone would write a project and then promote that project. That sounds normal.
Actually, both Mastodon and Lemmy chose to implement sort of their own versions of ActivityPub, and that actually does strike me as selfish behavior. It means that mostly they are their own independent platforms that run “on top of” ActivityPub instead of enabling full interoperation with the other stuff. Doing it that way was hard to avoid, because the design of ActivityPub to me isn’t great, but this situation is actually a perfect example of that: Mastodon implemented a new feature in a way that would break (in a really jarring privacy-violating-to-some-extent way) until everyone else copied their implementation exactly. I’m not aware of Pixelfed doing anything like that. Mastodon and Lemmy can both get away with presenting themselves as “the fediverse” and forcing everyone else into copying one implementation or the other if they want things to actually work, and they both show very little interest in making it easy. If you want to pick out sins of various fedi projects to start to point out that are disrespecting the other projects in the space, something like that is where I would start.
You ever notice how Gargron refers to the fediverse as “the Mastodon network?”
He’s been doing things this way since 2017 at least. At this point, any longtime observer really has no other choice but to consider the behavior deliberate.
Everyone I ever talked to told me “well yes we have to implement our own version of ActivityPub because AP is under-defined”. In most cases it is defined what AP does, but not how. Therefore individual programers go in and figure out on their own how a certain thing they are building for their platform should be structured in AP.
Now, every project could simply go “I will copy the way Pixelfed implements it”. But why should PF have that priviledge?
Agreed. It’s not completely their fault. But also, they’ve run further than they needed to with the “I’m in charge of what protocol I’m going to speak to other instances running my own software” than they needed to. Case in point, this exact issue with “private” posts. A lot of things had to be fleshed out more so than they are in the AP spec. This feature needed to be handled more carefully than that.
I shared a bit about exactly this here: https://lemmyverse.link/lemmings.world/comment/14476151
deleted by creator
Using Laravel as a framework should be the first red flag, I yet have to meet a Laravel dev who understands architecture (and I interviewed quite a bit of them). That framework is several anti-patterns bundled into a nice package.
I mean, I completely agree but last time I said that people flamed me over it. If it was still 2013 then I’d look more into it, but today it’s such a monolithic architecture