I’ve been seeing this for quite a bit, and thought it’d resolve itself once CloudFlare was taken off, but I’m still seeing it on many external communities from e.g. Lemmy. Not all posts or comments are visible from Kbin. Any idea on what’s going on?
Edit, clarification: when I visit e.g., https://kbin.social/m/[email protected] the above mentioned sentence shows up, and I’m not able to see threads created even 13 hrs ago, like this one on the original instance https://beehaw.org/post/927935?scrollToComments=true. New content doesn’t seem to be pushed to this instance at kbin.social. This is the issue I’m referring to.
Edit 2: This is probably the answer: https://kbin.social/m/kbinMeta/t/131241/What-s-up-with-The-magazine-from-the-federated-server-may#entry-comment-517045
@Treedrake
Most replies here are correct. To clarify and summarize:
e.g. [email protected] <— the source of truth is kbin.social.
2. ActivityPub and the Fediverse is a “Push” model. What does this mean?
Imagine subscribing to a real-world newspaper or magazine with home delivery(few these days will actually remember this, but try to imagine at least). You will get all new issues delivered to you from the moment you became a subscriber, but you don’t get copies of all the newspapers or magazines they have ever printed delivered to you. You only get things moving forward. That’s the same with the Fediverse. After you subscribe or follow something, you will get all the new content moving forward, but not what has been created so far.
So how does my new content that I created in [email protected] show up on other instances that are not kbin.social? I thought you said your content only gets pushed once?
Correct. However, it’s not quite as simple as my instance pushing just to kbin.social. Strictly speaking, (and this is based on experience with other platforms, not specifically how kbin works since I haven’t verified this for kbin 100%) when I create the content, my instance will push to kbin.social and all other instances (not users) that my instance knows are also subscribed to specifically [email protected]. So my instance actually knows a subset of the instances that are subscribed to [email protected] and will push the new content to each of those other instances. My instance, however, won’t necessarily know all the other instances that are subscribed to [email protected]. As a result, some instances won’t see my new content because it wasn’t pushed to them.
Note on #3: I haven’t fully verified this. This statement is based on how other, non-kbin instances handle federation. This is how “likes” work across platforms like Mastodon, Calckey, etc. I see no evidence (yet) that this is any different for kbin.
If i understand it correctly, the system is built to spread info and decrease load but at the same time to get the best and most up to date info everyone needs to be on one instance?
Weird, must be a mistake in my understanding of the fediverse
Thanks for the clarifications. Regarding 3, why does some new content from e.g. [email protected] gets pushed to an instance like lemmy.world, but not all new content? I mean, if some content gets pushed it seems to be aware of that instance. Or is it random which content gets pushed? Does this mean that the other instance will never get all new content? This seems like quite the issue?
Edit: ok, I think I get it. So if someone from a random instance posts to e.g., [email protected], and that instance doesn’t know about kbin.social, it won’t get pushed to this instances representation of the [email protected] magazine?
@Treedrake
Correct. It’s only “pushed once” by the instance that the creator’s account is on. Of course it will push to the source of truth, but it will only push to other instances it knows are also following that magazine since it doesn’t necessarily know all of the instances that follow that magazine. In your example, yes, if the creator of the content (which in this example is an account not on beehaw.org) posts to [email protected], their instance will push to beehaw.org and others, but if it doesn’t know that kbin.social has any followers of the magazine/community, it won’t push to kbin.social.
One other possibility is that the 3rd-party instance does know about kbin.social (for example), but has blocked (defederated with) kbin.social OR kbins.social has blocked that 3rd-party instance, my expectation would be that such content won’t show up on kbin.social’s “copy” of the community.
So it’s basically working as intended? It does feel like an annoying “issue” though. Thanks for explaining anyhow!
@Treedrake
You’re welcome!
Yes, it is working as intended. The idea is that each instance is responsible for pushing content once, then it’s the responsibility of the receiving instance to process and display the content to the relevant users/accounts.
As a side note, if everything was “re-pushed” out, the load becomes even more on the “source of truth” for larger communities with wide federation and a lot of new content generated locally and remotely. I could see this being leveraged to take down servers by simply spamming really large communities (with large federation) with small content forcing the “source of truth” to now “re-push” the content to every server that is knows about for every single new comment, or reply, or post.