ou might have seen that we’ve been defederated from beehaw.org. I think there’s some necessary context to understand what this means to the users on this instance.
How federation works
The way federation works is that the community on beehaw.org is an organization of posts, and you’re subscribed to it despite your account being on lemmy.world. Now someone posts on that community (created on beehaw.org), on which server is that post hosted?
It’s hosted on both! It’s hosted on any instance that has a subscriber. It’s also hosted on lemmy.ml, lemmygrad.ml, etc. Every instance that has a subscriber is going to have a copy of this post. That’s why if you host your own instance, you’ll often get a ton of text data just in your own server.
And the copies all stay in sync with each other using ActivityPub. So you’re reading the post that’s host on lemmy.world, and someone with an account on beehaw.org is reading the same post on beehaw.org, and the posts are kept in sync via ActivityPub. Whenever someone posts to that community or comments on a post, that data is shared to all the versions across the fediverse, and these versions are kept in sync. So up until 5 hours ago, they were the same post!
“True”-ness
A key concept that will matter in the next section is the idea of a “true” version. Effectively, one version of these posts is the “true” version, that every other community reflects. The “true” version is the one hosted on the instance that hosts the community. So the “true” version of a beehaw.org community post is the one actually hosted on beehaw.org. We have a copy, but ours is only a copy. If you post to our copy, it updates the “true” version on beehaw.org, and then all the other instances look to the “true” version on beehaw to update themselves.
The same goes for communities hosted on lemmy.world or lemmy.ml. Defederation affects how information is shared between instances. If you keep track of where the “true” version is hosted, it becomes a lot easier to understand what is going on.
How defederation works
Now take that example post from earlier, the one on beehaw.org. The “true” version of the post is on beehaw.org but the post is still hosted on both instances (again, it has a copy hosted on all instances). Let’s say someone with an account on beehaw.org comments on that post. That comment is going to be sent to every version of that post via ActivityPub, as the “true” version has been updated. That is, every version EXCEPT lemmy.world and sh.itjust.works. So users on lemmy.world and sh.itjust.works won’t get that comment, because we’ve been defederated from beehaw.org. If we write a comment, it will only be visible from accounts on lemmy.world, because we posted to a copy, but our copy is now out of sync with the “true” version. So we can appear to interact with the post, but those interactions are ONLY visible by other lemmy.world accounts, since our comments aren’t send to other versions. As the “true” version is hosted on beehaw, and we no longer get beehaw updates due to defederation, we will not see comments from ANY other community on those posts (including from other defederated instances like sh.itjust.works).
The same goes for posting to beehaw communities. We can still do that. However, the “true” version of those communities are the ones on beehaw, so our posts will not be shared to other instances via ActivityPub. And all of this is true for Beehaw users with our communities. Beehaw users can continue to see and interact with Lemmy.world communities, but those interactions are only visible to other Beehaw users, since the “true” versions of the Lemmy.world communities (the ones sent to/synced with every other instance) is the Lemmy.world one.
Communities on other instances, for example lemmy.ml, are unaffected by this. Lemmy.world and beehaw.org users will still be able to interact with those communities, but posts/comments from lemmy.world users won’t be visible to beehaw.org users, as defederation prevents our posts/comments from being sent to the version of these posts hosted on beehaw.org. However, as the “true” version is the one on the third instance, we can still see everything from beehaw.org users. So we see a more filled in version than the beehaw users.
Why can I still see posts/comments from beehaw users?
Until they defederated us, posts/comments were being sent to lemmy.world, so we can see everything from before defederation. After defederation, we are no longer receiving or sending updates. So there are now multiple versions of those posts.
Why can I still interact with beehaw communities?
This won’t ever stop. You’ll notice that all posts after defederation are only from lemmy.world users. You won’t see posts/comments from ANY other instance (including instances that ) on beehaw.org communities.
Those communities will quickly suck for us, as we’re only talking to other lemmy.world users. Your posts/comments are not being sent to any other lemmy. I highly recommend just unsubscribing from those communities, since they’re pretty pointless for us to be in right now.
Why do I still see comments from beehaw users on lemmy.world communities?
Again, comments from before defederation were still sent to us. After defederation, it will no longer be possible for beehaw users to interact with the “true” version of lemmy.world communities. Their posts/comments are not being sent to any other lemmy. They also aren’t getting updates from any other lemmy, as the “true” version of those communities is on our instance.
Why do I see posts/comments from beehaw users on communities outside lemmy.world and beehaw.org?
That’s because the “true” version of those posts is outside beehaw. So we get updates from those posts. And lemmy.world didn’t defederate beehaw, so posts/comments from beehaw users can still come to versions hosted on lemmy.world.
The reverse is not true. Because beehaw defederate lemmy.world, any post/comment from a lemmy.world users will NOT be sent to the beehaw version of the post.
This seems like it’s worse for beehaw users than for us?
Yes. In my opinion, this is an extraordinarily dumb act by the beehaw instance owners. It’s worse for beehaw users than for us, and will likely result in many beehaw users leaving that instance. They said in their post that this is a nuke, but I don’t think they fully assessed the blast area. Based on their post, I don’t think they fully understand what defederation does.
Just reading through this post, I think it would be good for Lemmy to have a feature that shows users when writing a comment or post that it won’t be seen by users on X instance (in case lemmy.world users are not aware that beehaw.org has defederated them).
If they still go though with the comment or post, it would have an icon that if you hover over/click on it, it shows the communities that have defederated them or what the effect is (X users can’t see this post, Y users are not seeing the “True” post etc.)
I don’t think I’m explaining it well, but there needs to be some visual indication so anyone on any instance knows that a certain comment or post isn’t being seen by users of a certain instance or whatever - or maybe that isn’t feasible as there are certain instances that everyone would block.
This 100%. It can even just be done in the UI layer (look up the users’ instance and if our instance is blocked there).
Please create an issue on the repo if there isn’t one already.
I think it would put awful strain on the whole system, there are more than 500 servers now and they’re still growing, can you imagine having to check 500+ servers to see the blocklist every single time someone adds a comment?
What they should certainly do IMO is adding a warning on join-lemmy to make users aware of which servers are blocking others.
What each server could do that would help IMO is having somewhere a post with the list of servers blocking them, so users will know before commenting.
Defederation happens much less often than new comments are posted. The visibility information is also the same for all comments, posts and communities on one instance.
So the check would not have to happen in real time for each comment. It can probably be done once per hour/day for the whole instance as a low priority task.
I like the idea of a visibility indicator.
You only need one check. Eg. if the user is about to comment on a beehaw.org post, check if beehaw.org is federated.
There are more than 12 thousands users on this instance alone, true that they’re not commenting all at the same time but it’s still thousands of checks every few minutes most probably.
It’s a necessary feature, so tough shit I guess.
I actually don’t believe it’s necessary.
It can be cached, though, right? “beehaw.org was federated/defederated with this instance as of 2 hours ago”.
It’s actually several days, the beehaw stuff you see here was cached before the defederation, we’re not getting new content from them anymore.
Is there a community for suggesting Lemmy features like this yet? Alot of these are vital for user experience.
It’s the Issues page on either the Lemmy or the Lemmy-UI repository (I don’t know which one is more appropriate):
https://github.com/LemmyNet
I don’t have a GitHub account so I haven’t submitted anything there, but feel free to suggest my idea.
Why not just prevent comments/posts altogether? What’s the point in allowing users to talk to a brick wall? Why would lemmy.world users want to interact exclusively with each other on a ghost of a community from another instance?
If Beehaw has say the main gaming community, then that’s going to be subscribed from users from all different instances, so there will probably be more comments from non Beehaw users on there than Beehaw users.
Hopefully the main communities move out of Beehaw to an instance that doesn’t block large communities though.
Yeah but lemmy.world users won’t be able to see those comments from non-beehaw users. They’ll only see new comments from other lemmy.world users. Might as well just make it read-only for lemmy.world with a message telling them why.
Oh yeah, my mistake. So on Beehaw communities it would basically be lemmy.world users speaking amongst themselves from the perspective of lemmy.world.
Yes, on a stale, never-updated version of the beehaw community.
The feature would still be useful when commenting on third instances though.
See the third instances section of this comment:
https://lemmy.world/comment/205763
Agreed 👍
So I’m seeing this play out a bit and maybe allowing lemmy.world folks to post to the stale version of beehaw’s community has some merit.
I’m seeing new posts on beehaw’s games community but they are exclusively from lemmy.world users and all replies are from lemmy.world users (I’m on lemmy.world).
So effectively beehaw’s community has become an internal, almost-private lemmy.world community from the perspective of lemmy.world users. Meaningful discussions are occuring, but the wider Lemmy user base isn’t involved and I don’t think those participants realize it. So overall I don’t think it’s ideal, but meaningful discussions are occuring, so there’s that.