Let’s use lemmygrad.ml as an example. My home instance is lemmy.world, which I see has defederated from lemmygrad.ml. If I post to a community on lemmygrad.ml, will everyone be able to see it?
What if the opposite is true? What if lemmygrad.ml is the one who defederated from lemmy.world, and not the other way around as in the above example?
I’m just a little confused by how federation works. I know that I won’t see lemmygrad.ml posts on my All feed due to defederation, regardless of who defederates with whom.
If an instance is defederated with another instance that all content in and out is ignored after the point at which instances defederated. So, in this example, you might see old lemmygrad.ml posts in your lemmy.world instance. If you comment on one of those posts, only other lemmy.world users will see it, meanwhile none of the lemmygrad.ml users will see it. Likewise, none of comments/posts that have happened after the instance defederated will appear on lemmy.world.
It’s akin to having a conference call/speaker phone conversation. Everyone in your room can hear and speak. Likewise everyone in the other room can hear and chat too. When the call drops (defederates), each room can continue having conversations on what they were just talking about but neither room has any clue about the other’s conversations.
That is a beautiful analogy. And the people in the room can talk more about a previous topic when they were all talking together but the other side will never know about those new details (commenting on old posts).
That last paragraph nicely explains it. I was a little confused on how it all worked
Does that mean that all the posts and comments from said instance prior to defederation will still be visible in the home instance?
Yes. Defederating - at least right now - only stops the communication (hangs up the phone). Any existing posts/comments will still be present.
I too am curious about this. Does each instance have its own copy of the data from the other instances? How does it stay in sync?
Each instance has a copy. There are a couple of ways to backfill information, but in general any communication that happens gets broadcast out to every instance that’s subscribed. If an instance is offline or otherwise unavailable (like it’s defederated), then that instance will not get that message and will be slightly out of sync. It’s this semi-sync nature that also makes it so that anything posted likely exists somewhere even after you delete because nothing guarantees that every instance will get the delete message.