What's up with "The magazine from the federated server may be incomplete. Browse more on the original instance."? Is this working as intended or is it a bug?
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.
Most replies here are correct. To clarify and summarize:
The source of truth for a magazine/community is the server name that appears after the magazine name.
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.
To extend #2, it's a "push once" model. What does that mean? It means that if I create content from my instance (which is not kbin.social) to the magazine [email protected], my content will get pushed to kbin.social. Kbin.social, however, will not "re-push" that content to everyone that kbin.social knows is subscribed to the magazine.
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.
As a result, to let users know about this potential gap, not only does it mean that older content doesn't automatically show up, it also means that not necessarily all new content will show up either.
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.
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?
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?
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.
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.
Eh, it's not much of a downside in an active community. The model is push once at time of publication, there are other systems in place that republish content and help it propagate through the network.
On kbin, there's a "boost"... well, it's not really stylized as a button, but there's a "boost" feature, which acts to republish posts or comments and allows them to reach newer subscribers. I'm not sure how it works on Lemmy, as there's no explicit boost, but there are mechanisms there to renew active back content.
It all just means we, as users and members of communities, need to take on a little bit of responsibility for ensuring that interesting or valuable content propagates.
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