At the time that I had joined this instance, I believe none of the posts from !30rock@dubvee.org were viewable on this instance. When I subscribed to the community, most posts then became available, but few-to-none of the comments/votes did. Everything since subscribing is entirely in sync. Check it out yourself; when sorting by Old, you see many posts from well before I had joined this instance, but they do not have comments and have just the OP’s initial one upvote: https://feddit.org/c/30rock@dubvee.org?dataType=Post&sort=Old
I have noticed similar behaviour with other communities, so I don’t think “actions” are just stuck in the “queue” or whatever. Is there anything I can do to get my instance fully in sync with a particular community? Or could this only be remedied by an administrator of one (or both) of the instances?
You’re correct in assuming that nothing is stuck in a queue.
Compared with other Fediverse platforms, a feature that Lemmy lacks is paginated outboxes. These would allow communities to list all the posts, because other instances could get them a page at a time (e.g. 20 for page 1, then the next 20 for page 2, and so on). Instead, they provide a non-paginated outbox with only the most recent 50 posts. An outbox for comments isn’t really feasible without pagination, which is probably why they don’t provide one at all. For votes, it’s even less practical, and irrespective of that, it would go against the familiar hang-up about votes being private.
So if you’re the first person to join a remote community, then 50 recent posts are brought in, but no older posts, no comments, and no votes. There’s no way to get the old votes. If your instance receives some activity that makes it realise that it’s missing something, then it will resolve it (e.g. it will often fetch an old post if it receives a reply to it, and fetch a comment if it receives a vote for it), but it will start that post or comment at score 0.
If you really wanted to be fully in-sync for comments, then you could script it to use the APIs for the remote and local instance. For the remote instance it would be something like: list the posts oldest to newest (limited by the amount you’re missing); get the ap_id for each one, then login to your instance and ask it to resolve it. Then do the same for the comments in each post. Everything it resolves would be a score 0 though, and it assumes that the author hasn’t deleted themselves in the meantime, or that their instance hasn’t disappeared. Given that, I don’t really see the point, other than trying to a completist about stuff.
When someone on your instance subscribes to a community on another instance for the first time, it grabs a small amount of back history, and the other instance starts federating all new content to your instance as it generates.
There is no way to pull in a complete backlog of all history automatically, because it would be a large resource burden
However, what you can do is find content that you want to interact with on the remote instance, copy the URL and then search for that URL on your server. That will pull that content and its context to your instance.
However, what you can do is find content that you want to interact with on the remote instance, copy the URL and then search for that URL on your server. That will pull that content and its context to your instance.
Neat! Though it does not pull all context, just the “upstream” context. Meaning that if I search a post’s or comment’s URL, it will not pull in comments below it. But if I search a low-level comment, it will pull in all parent comments from that comment chain as well as the post itself. And, like another commenter mentioned, it will not pull in the votes.
EDIT: On second thought, what I call “upstream context” is probably what Lemmy technically considers simply “context”, isn’t it?
TLDR: Not a bug, feature; Or works as intended:)
…but few-to-none of the comments/votes did. Everything since subscribing is entirely in sync.
That is by design, if every instance automatically synchronized (federated) every post and every comment from every other instance …the whole fediverse would explode?:) well it would at least require a loot more resources hosting any/every instance.
As for the “loading history”, if you take a true url[1] of a post or comment, insert it into the search bar of your instance, it will load it (and it will be visible in the corresponding community). One problem are votes, afair lemmy does not even offer a mechanism to let other instances see all historical votes, do not confuse this with votes that are already federated, the moment you subscribed is the moment the instance hosting that community started forwarding everything happening from now on in that community to lemmy.ml (your instance).
[1] - true url here means from where the resource originates/which instance is hosting that comment/post/community; You can find it as the little fediverse button on each non-local resource (comment/post/community).
E: I see others beat me to it haha