55
PieFed vs Lemmy. What say you?
(lemmy.world)
For posting all the anonymous reactionary bullshit that you can't post anywhere else.
Rule 1: All posts must include links to the subject matter, and no identifying information should be redacted.
Rule 2: If your source is a reactionary website, please use archive.is instead of linking directly.
Rule 3: No sectarianism.
Rule 4: TERF/SWERFs Not Welcome
Rule 5: No bigotry of any kind, including ironic bigotry.
Rule 6: Do not post fellow hexbears.
Rule 7: Do not individually target federated instances' admins or moderators.
@edie@lemmy.encryptionin.space was looking at PieFed code the other week, and I ended up taking a look at it too. Its great fun to sneak a peak at.
For example, you can not cast a vote on PieFed if you've made 0 replies, 0 posts, AND your username is 8 characters long:
If a reply is created, from anywhere, that only contains the word "this", the comment is dropped (CW: ableism in the function name):
Every user (remote or local) has an "attitude" which is calculated as follows:
(upvotes cast - downvotes cast) / (upvotes + downvotes). If your "attitude" is < 0.0 you can't downvote.Every account has a Social Credit Score, aka your Reputation. If your account has less than 100 reputation and is newly created, you are not considered "trustworthy" and there are limitations placed on what your account can do. Your reputation is calculated as
upvotes earned - downvotes earnedaka Reddit Karma. If your reputation is at -10 you also cannot downvote, and you can't create new DMs. It also flags your account automatically if your reputation is to low:PieFed boasts that it has "4chan image detection". Let's see how that works in practice:
Yup. If your image contains the word
Anonymous, and contains the textNo.orN0it will reject the image with a fake error message. Not only does it give you a fake error, but it also will dock your Social Credit Score. Take note of thecurrent_user.reputation -= 1PieFed also boasts that it has AI generated text detection. Let's see how that also works in practice:
This is the default detection, apparently you can use an API endpoint for that detection as well apparently, but it's not documented anywhere but within the code.
Do you want to leave a comment that is just a funny gif? No you don't. Not on PieFed, that will get your comment dropped and lower your Social Credit Score!
How does it know its just a gif though?
I'm not even sure someone would actually drop a link like this directly into a comment. It's not even taking into consideration whether those URLs are part of a markdown image tag.
As Edie mentioned, if someone has a user blocked, and that user replies to someone, their comment is dropped:
For Example:
(see Edies original comment here)
More from Edie:
Also add if the poster has blocked you! It is exactly as nonsense as you think.
Example:
I made a post in testing@piefed.social from my account testingpiefed@piefed.social, replied to it from my other testingpiefed@piefed.zip account. Since the .social account has blocked the .zip, it doesn't show up on .social, nor on e.g. piefed.europe.pub.
I then made a comment from my lemmy.ml account, and replied to it from my piefed.zip account, and neither .social, nor europe.pub can see my .zip reply, but can see my lemmy.ml comment!
But wait! There's More!
All this to say. Piefed is a silly place, and no one should bother using its software.
I actually misread on that, it also has to be a newly created account.
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
I've made the correction. I missed that too somehow.
Also add if the poster has blocked you! It is exactly as nonsense as you think.
Example:
I made a post in testing@piefed.social from my account testingpiefed@piefed.social, replied to it from my other testingpiefed@piefed.zip account. Since the .social account has blocked the .zip, it doesn't show up on .social, nor on e.g. piefed.europe.pub.
I then made a comment from my lemmy.ml account, and replied to it from my piefed.zip account, and neither .social, nor europe.pub can see that .zip reply, but can see my lemmy.ml comment!
Edit: here is the post on dbzer0, also can't see any .zip comments
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
🥴
Ok, so if you block a person, it enforces that block for other users and even logged off users. Meaning, if me and you had a beef. I could block you, and then talk shit about you openly, and if you wanted to reply to me, you could, but it would then drop the comment and no one on my instance would see it, and no one on other instances would see it, unless you were on say, a Lemmy instance?
edit: sorry I had to rewrite that like twice because it's so fucking confusing.
So, what I'm talking about here is this code:
Where if the author of the post you are making a comment on has blocked you, the comment is dropped.
No. People on your own instance will always be able to see your comments, even if people on the piefed instance can't.
And the reason why piefed.europe.pub cannot see the comment from my piefed.zip account is that the testing community is on piefed.social, and it doesn't announce the comment to other instances. I think the reason why lemmy.ml can still see the comment is because piefed.zip sent it directly to lemmy.ml? But I don't really know.
Edit: I see you edited it. My reply is still more or less correct even with the edit. I will add, that being lemmy instance isn't going to fix it, it's still the piefed instance's (the instance the community is on) job to federate the comment. And if you were talking on a community not on your instance, so my reply wouldn't be dropped by the community's instance, every other instance except yours would know of my comments.
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
I think I figured it out. Look at process_new_content. If the content is blocked, it sends a deleted to remote instances, I think when the content isn't allowed. Check this commit: https://codeberg.org/rimu/pyfedi/commit/ed7169b40c2b9ac0ae546d9badea45bbe57bcec5
I see, that commit was made just a week ago, after I looked at the code.
Edit: Also it's only on main, and doesn't seem to have been added to a release yet
Edit: Ah, no, the 2170 / 2176 line was there before
Edit: NO, it was added a week ago: https://codeberg.org/rimu/pyfedi/commit/6b692c3beec7b427494708b3ad55c30875e94f7d
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
I feel like this has been a thing for a while though. But this function
proactively_delete_reply
Is a strange way to handle blocks, right? It's fetching either a local moderator account, or a local admin account, and then using that account to send a block command on behalf of that user account? I still don't really know why the system doesn't simply store the blocks locally and then check at page render if the content is blocked, and then not render it for the user who created the block. Am I understanding this correctly, that this system enforces individual user blocks on the entire community? Even remote communities?
You seem to be confused. Let's start with this "delete replies on remote instances when author has been blocked by parent content author", it was added a week ago, on the 13th of january, proactively_delete_reply was added then with it. What it does is not block, but delete, you may be familiar with a different name for it: remove.
Dealing with a new comment happens here, it starts with create_post_reply, it will for example return None if the parent comment author has blocked the replier, so the code never reaches PostReply.new(), it is inside this PostReply.new that the comment is added to the database, so the reply is never added to the database. Furthermore, since create_post_reply returns None, reply is None, and so
if reply:is false, this means announce_activity_to_followers is never called, and as such other instances are never informed of the new comment (AFAIK it is the duty of the instance on which the community is on to announce to instances with subscribers to that community of new content)ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
Ah yeah I see where I got mixed up. Sorry! Was the end of my day and doing to many things at once.
But do I have it correct that it seems as though individual users have some amount of control over how content federates on their instance through the blocking mechanism?
It's clamped to just the user's content, their comments and posts, but it still prevents federated content from being stored on the server or content being federated to other servers.
It's not a purely cosmetic block right? Because it changes what other users see relative to my own content. Unless I'm still confused about how this works.
If I make a post and I have a large block list of users from other instances, those users could be replying to my posts on their instance. But on my home instance, it wouldn't store those in the database because I've blocked them, which would result in users from my home instance never seeing them either, right?
if i'm on piefed god forbid, and i reply to a comment on an OP who has blocked me, will my own instance reject my comment? will it give me an error or will it silently drop it or what?
If you on lemmygrad.ml reply to a comment on a post where the OP has blocked you (no matter if you reply directly to the post or to another comment), you will think that the reply has gone through, it will show on lemmygrad.ml.
If the community the post is in, is on the same instance as the OP who has blocked you, the OP's instance and other instances e.g. lemmy.ml will not see the comment. If the community is not on the same instance as the OP, other instances will see it, only the OP's instance won't.
(This is at least how I understand it, if I'm wrong I really hope someone will correct me)
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
I completely misread your comment.
If you are on the same instance as the blocker, you will get this error message: "Your reply was not accepted because The author of the parent post has blocked the author or instance of the new reply."
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
wow this is bad. I need to look through the piefed repo. This shit is pure comedic gold even if super toxic in practice. Is this software entirely vibe coded by neolib ideologues?
I feel like it has to be. Lack of good coding practices, like hardcoding all those is_it_a_gif strings, screams vibe coded to me. You couldn't get away with this stuff in a 200 level coding class. You know what, vibe coding is a good programming equivalent to libs: all substance with no foundations.
Yes it is, far as I'm aware.
Linking to top of a comment thread that yes started with a terrible username. But it boiled down to people bringing up some of these concerns to people trying to say ml is super censorship
Then a piefed cheerleader(spokesperson?) who tries to make everyone's concerns just a sign they're misunderstanding what piefed does.
~~https://lemmy.ml/comment/2338226~~
https://lemmy.ml/comment/23382263
Correct link, I accidentally removed the 3
My god cowbee is a saint
Ikr! I'm just amazed I replied longer to the same user.
I think this is the wrong thread?
Yeah I accidentally removed a number at the end, edited post.
https://lemmy.ml/post/41773598/23384239
And where other user started to explain why it's okay if it doesn't even let the person know it doesn't leave a comment. Because it shows in piefed...
At this point wonder if the attitude they have even works properly if voting outside of piefed
(Only locally, federated piefed instances can reply to blockers just fine)
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
https://lemmy.ml/comment/23390349
Which AFAICT is incorrect as it is right now. Unless I somehow managed to create a bug where I can reply from one piefed account to another which has the first blocked.
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
You haven't created a bug, and you have it correct. If a Piefed user blocks a remote Piefed user, and that remote Piefed user attempts to reply to them in the UI this is what happens:
in_reply_to.author.has_blocked_user(current_user.id); fails if block known locally.create_post_replycheck, may sendDeleteactivity backPiefed has no means of federating blocks. In fact, they have some TODOs to actually implement federated blocks:
app/user/routes.py:811has aTODOcomment# federate blockwith placeholder ellipsis, andapp/post/routes.py:1384has a similarTODO.app/shared/tasks/blocks.py:ban_personsendsBlockactivities exclusively for site/community bans, not user‑to‑user blocks.app/activitypub/routes.py:1520‑1526processes incoming Mastodon‑style blocks (without atargetfield) and creates localUserBlockrecords, but there is no corresponding outgoing federation.So as it stands now, Lemmy and PieFed experience the exact same thing. I guess Piefed users just don't notice.
Am I reading this correctly, that if you have no defederated instances it falls back to defederating hexbear/ml/grad?
Pretty amusing that there's apparently no thought to abstraction, just a bunch of brain genius "feature" additions strung together.
Absolutely zero abstraction to be found.
well that'd create hierarchies
Someone in a different release thread was going on about how piefed just made up its own federation return ignoring standards
Found it
https://lemmy.world/comment/21179968
Edit, for those getting wrong thread comment in question
lmao of course they aren't even implementing the underlying protocol properly.
edit: lmao that whole thread is good entertainment.
My instance is a piefed software I believe. Dammit. This shit is just unforgivable and theres no reason for it besides being a fashy. Absolutely wild. I just liked the instance ideology :.(
Its got some silly shit but honestly the most annoying thing is the way they handle blocks. Most of this stuff can be turned off. The fact that we're communicating means your instance has transcended the softwares fashy nature.
It still feels nasty using it now. I read this entire thread. Thanks for the very fucking confusing but interesting deep dive into the fashy software design theory. Shit is absolutely wild. I have no idea why anyone would want to even waste time implementing nonsense like this.
They just want reddit! They can't accept that their concepts of freedom and democracy create the exact same controls they claim to hate.
I just find it funny that the things I've complained about in the past are being removed. Vote weights are gone, community kicking is gone. I think you can still put warnings on external communities (maybe instances) which is silly.
I'm tempted to make a hard fork of it and remove all the reddit shit and fix the blocking feature as a laugh. I wouldn't have much interest in maintaining it though.
I think what I find the most hilarious after this is all of you hexbears have great social credit according to anarchist.nexus lol meanwhile it flags Donald J Musk and UniversalMonk lol
I remember seeing you talk in some other community and I didn't point it out but I want to make sure you know, attitude and reputation are not the same thing.
Anyways, yeah, since we don't have downvotes our attitude is always 1.0 (since it's just the ratio of upvotes to downvotes) and our reputation should be pretty high since it's only federated users that can downvote us.
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
Yeah I comment too much. That makes sense with downvotes disabled, but it also highlights how silly it all is. If they could even see you, their systems wouldn't work anyway lol
With how spaghetti the code must be given all the hard-coded ad-hoc on top of each other they have going on, you might be better off just rewriting it from scratch instead.
If you don't like the software specifically, you can switch to lemmy.dbzer0.com instead. Those two instances (anarchist.nexus and lemmy.dbzer0.com) are for all intents and purposes the same instance.
More opensource devs should subtly abuse their users like that.
Lmao holy shit
ps
Some of my favorite stuff is just the comments about lemmy in the code.:::
This seems to be many different things, could you break it up to make it clearer what fits together?
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
Actually admins.
Also apparently it doesn't work?
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
mmmm delicious software slop. thank you