this post was submitted on 03 Jul 2023
33 points (100.0% liked)
/kbin meta
639 readers
1 users here now
Magazine dedicated to discussions about the kbin itself. Provide feedback, ask questions, suggest improvements, and engage in conversations related to the platform organization, policies, features, and community dynamics. ---- * Roadmap 2023 * m/kbinDevlog * m/kbinDesign
founded 1 year ago
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
@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.
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.
Fair enough! I guess it's a downside that comes with the federation.
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.