Code for people interested https://codeberg.org/rimu/pyfedi/src/branch/main/app/admin/routes.py#L373
I commented it out, rebuild the Docker containers and it works now 👍
Why the fuck can pyfed instance admins impersonate others?
Was this written by Spez?
If they have DB access they already can.
If you dont like it, fork it. Stop bothering us about it
-devs of PieFed
Oh wait no, that’s the devs of Lemmy when asked the same request. (edit: ‘asking’ to ‘asked’)
Hopefully Rimu will be more accommodating when you ask him? (codeberg issue creation prefered)
It might be time to move this away from a hard-coded list now, if the expectations that someone installing an instance is going to read through the code is lower now than previously.
Sir a second hardcoded blacklist hit the fediverse
List of blocked words in community names:
shit piss fuck cunt cocksucker motherfucker tits memes piracy 196 greentext usauthoritarianism enoughmuskspam political_weirdos 4chanSeems like one of the PieFed devs has some opinions about the kind of content they dislike, and are unilaterally forcing that on every PieFed instance. I can somewhat understand filtering out curse words, but specific communities should not blocked by default, and definitely not hidden in a hardcoded list in the source code.
Isn’t there a Java based Lemmy compatible thing too? I forgot what it was called but I think there is one.
I’m not okay with them filtering profanity, who the fuck are they to define what is or is not acceptable?
I don’t think it’s a good idea either, but it’s less egregious than filtering specific communities.
I probably agree, but frankly I find neither acceptable
This isn’t the first time I’ve encountered an extremely pointed line of code in piefed meant to fuck over one person specifically. It’s very concerning now that it’s a pattern.
Got any other specific examples?
Hard-coded filters, here we go again.
https://github.com/LemmyNet/lemmy/issues/622Damn this should honestly be spread and talked about more. I don’t think many people know this is a thing?
Considering PieFed users won’t shut the fuck up about how much better and less politically opinionated it is, yeah we should probably shout this from the rooftops.
Reminds me of Brave browser users a bit
One of PyFed’s selling points was that it was easier to work with than Lemmy. It’s going to be amusing when that takes a 180 turn and people start complaining.
Python is great for prototyping and iterating on small projects or as glue for modules written in C and C++. What it isn’t great at is linearly scaling on a single node. When the day that throwing more powerful hardware at the problem stops being an option, Kubernetes is going to walk through that door and fuck any semblance of simplicity up.
I think Lemmy has some in-memory data structures that limit the backend to a single node, too. Also postgres is great, but Lemmy really fucked up their database performance somehow.
But yeah large python codebases turn into spaghetti really quickly.
I would agree with that sentiment, but seems like peoples’ actual experiences are a bit different: https://jeena.net/lemmy-switch-to-piefed
Possibly a testament of how software architecture can be more important than any lower level technical decisions.
They also put “memes” and “enoughmuskspam.”
The latter I guess could be used to stop Musk spam (since the community is literally nothing but Elon Musk news) but not allowing the word “memes” in a community name?
Utterly stupid.
But they do appear to be fans of Carlin based on the first 7 banned words.
There’s no racial slurs in there either. I might have assumed this was merely an example an operator is meant to edit themselves, but these are some weird ass choices for even that.
Well, it seems specifically 196 just got removed: https://codeberg.org/rimu/pyfedi/commit/b7a9ea0eea3a80f710e0b5b63cf0bbecde60f8bf
I wonder why the dev had an issue with 196
So if I started a piefed instance and wanted to host a 196 community I’d have to edit the list, but would every single other instance also have to or no?
Yes, every other instance would also refuse to federate unless they also changed their code. Because the blocklist is baked right into the code, so anyone just pulling and running it as-is will fail to federate.
It’s odd that communities with those names load if they’re hosted on Lemmy, tho. Or maybe I’ve just only been on Piefed Instances that undid the list.
George Carlin would be amused.
They’re pretty explicit about what they don’t like when you sign up. That’s why I joined it
Each instance should be free to set their own rules. Individual instances blocking those communities is fine, but the PieFed devs hardcoding a blocklist that applies to all instances (especially one as opinionated and arbitrary as this) is absolutely not.
Each instance should be free to set their own rules.
They… are though? Maybe I am dumb, but I do not understand why each instance setting its own rules would apply to all other instances? Say if you made your own instance, you would set your own rules, but the other instances are free to set theirs as well? Like if you want to allow communities such as “4chan”, then go ahead, but if others want to block that, then why shouldn’t they be allowed to?
Definitely agree that this issue should be made much more transparent and easier to change, like not hard-coding it.
This filter is not part of any specific instance, it’s hardcoded into PieFed’s code. That means it applies to every PieFed instance unless the instance admin explicitly patches the code to remove it.
What, why 196? Actually why any of these? I get 4chan and greentext sort of(?) but even ignoring the terrible programming practices here, this is really stupid.
Edit: actually almost makes me regret switching to Piefed
Maybe they’ve had a bad experience with the 196 moderators, as many have. I hope that’s all it is.
The mods are awful. But basically all mods are awful. You have to have brain damage to want to be a moderator of an online community.
So it is a bit of a catch 22
Insane toxic trolls are insane toxic trolls regardless of how virtuous you might think their “cause” is.
They just removed it from the list 15 minutes ago
Ah, that’s good to hear. I’m still sketched out by the hardcoded blacklist of terms though. I’m very much a person against the sort of free speech that hinders other’s freedom to live without discrimination but the filter still seems so arbitrary and entirely the response to the dev’s own vandettas and that just gives me bad vibes.
On top of that, hardcoding English language terms to block is bad programming on a number of levels. Why isn’t it a configurable list? The hardcoded values don’t contain any other language variants so you can still have those communities if you speak something other than English (or just add an extra couple characters or anything really)
I know the feeling (over here on .world)
Hardcoded blacklists are never a good idea.
That shit belongs in a config file.
Side note: lmfao wtf is this Mickey Mouse block-quote-but-not-really bullshit?

AI code or someone who doesn’t understand python well
Never meet your heroes
Never read the code of a project you respect
That is some nasty code.
Jesus that’s a lot of spaghetti code, and why are they hardcoding a bunch of terms? Is this just for a public facing site, or does every deployed instance effectively filter these out?
It’s hardcoded in the PieFed source code, so every instance does this by default unless you patch it like I did.
The combined swearwords + excluded communities list seems to appear at least 3 times in the codebase (not referenced, copied verbatim).
Let’s just say that it wouldn’t pass my code review if I saw this at work
The piefed.world instance has some of these edited out but I don’t think they all are.
Yeah. The list should be in the site config. Go ahead and include those as defaults to block, but allow sites to override that.
OP, are you saying that the federation is blocked on the OUTGOING side? Because then that just seems bass ackwards.
No, it’s incoming. When you first set up an instance you have to kickstart the federation process by adding communities to federate. The linked code excludes those specified communities from that. Once federated, they won’t be blocked AFAIK.
Well, like the Lemmy devs, I guess the PieFed devs have decided to plant a flag instead of making a neutral platform for federated communication.
neutrality is one of those subjective things
The Lemmy devs don’t seem to hardcode those opinions into Lemmys source code.
One could argue the design choices themselves are hardcoded opinions, as it would be possible to imagine for example a more democratic way to moderate.
They had one for a while, but removed it on pushback.
Dear God, that code! Why is it all in one file? The more I read it the worse it becomes!
Holy crud, you were not kidding. I got through a bit and was just like, “nah I ain’t reading this shit”.
Very glad I never got deeper into PieFed. Great post.
Huh, so thats why i havent seen greentexts in quite some time.
goddamn, asshole, peepee, and poopoo are missing.
That’s interesting. I understand not wanting to fed some of those communities.
I definitely understand wanting to filter out obscenities, but I think the filtered communities should be a seperate configurable list.
As a mod of !fuckcars@lemmy.world, I’m kinda upset about the “filter out obscenities” part.
the cursewords are specifically referencing George Carlins 7 words you can’t say on air.
And cute as that reference is it’s still not justification for or authority to censor language of adult speakers. That’s bullshit.
Holy shit, 2200 loc
A 600 line fucking function wtf
At least it’s not a fuck function. That would be crass and thus not allowed!

















