About Kbin - why don't Kbin instances automatically grab updates if a magazine from another instance is out-of-date?
For example, if I (on kbin.run - which is Mbin, but for the purposes of this let's just assume it's Kbin) go to a random magazine on kbin.social, I will often see a prompt that the magazine may be incomplete and that I should visit the original instance for all the content.
Why doesn't the request to that magazine automatically trigger a "pull" from that instance for that magazine, or at least cause it to check if the number of threads is the same (and conditionally pull on that)? I would think by pulling the changes then, magazines would never be out-of-date.
I get that it would be a lot heavier of a load on the servers, but in combination with good caching techniques (maybe setting a time of 1 day or something until the next pull occurs, idk) I feel like that could be mitigated.
Is this maybe an implementation detail of ActivityPub?
There is no good reason for it. Just a choice by the coder of kbin.
PieFed retrieves the last 50 posts when a Lemmy community is added for the first time. It only takes a few seconds because all 50 posts can be retrieved at once by making a GET request to the community outbox. It doesn't do this for Kbin magazines because the Kbin developer chose not to make an outbox.
I don't think it's usually out of date that's the issue, but rather history. Generally activitypub instances don't get historical data, they get data from the point someone subscribes, so you may be missing old threads and comments on your local instance that exist on the hosting instance. If nobody is subscribed your instance may not be getting new content though.
That's one reason there are tools available like bots that "mass subscribe" to content on various instances when you set up a new one, otherwise it will stay pretty empty.