I’ll explain with an example - there are 3 Lemmy instances A, B, C
A federates with B but not C
B Federates with both A and C
Does A indirectly get the content from C due to B’s federation with it?
edit: Formatting for clarity
No, A doesn’t get the content from C, but if C is not defederated from A, yes, C gets the posts from A (feed). It’s called asymmetric defederation. For example, that’s the case with sh.itjust.works and beehaw.org. Those of us that subscribed to communities on beehaw.org before it defederated from us, we still get posts from beehaw in our feed, but beehaw doesn’t get any from us. And if we actually comment on the post, that comment will be visible only to members of sh.itjust.works, no one else in the federation, because the sync feed from beehaw takes presence over ours, so the instances that can talk to beehaw, get the sync feed from beehaw first (or if it arrives second, ours is discarded, because beehaw is the original instance on which the post was made).
On Lemmy: no, not really.
On the Fediverse in general: if a user on your server replies to your post and submits that activity to their followers (be it the Lemmy community they’re operating in, the community they’re responding to, or the public timeline), the original post is also repeated. If a Mastodon user were to follow you, their server should receive a copy of the threads you’re responding to.
This is done to prevent “ghost replies”, responses without context appearing in other people’s timeline. Replies don’t always need to be a note, for example; if you like or favourite a post, other servers will receive a message basically saying “@someone@example.com just liked post example.org/post/2109912310257320932479324” which is completely meaningless if you don’t know what that post is referring to.
You can find the exact details in the ActivityPub specification (warning: technical document).
The specification describes how posts are repeated from someone’s inbox (the stuff you’re following/subscribed to) to their followers. Lemmy doesn’t let you follow a user, so this is mostly meaningless here.
I’m going to guess not because then we would have infinite loops of federated content. It probably checks the source instance before syncing content.
That makes sense if it were to become circular. The way I was thinking of it is like
B gets C’s content making C’s part of B’s. so because C’s is a part of B then A gets it.
But I guess C’s content isn’t really B’s its only there through federation? Trying to wrap my head around all this, appreciate the reply.
The spec does describe some repetition code, but it also describes a set of simple rules to ensure you don’t get any infinite loops. Basically, you only get federated content through accounts you follow, once, if they’re relevant.
If I have understood it correctly then A should only get content from B because they are directly linked. Content from C will display on B (via ‘all’) but will not be sent over from C. Else A would never be able to block C.
Just also want to add:
When A federates with B, it does not get B’s content. A only gets content from B that A’s users subscribe to.