this post was submitted on 23 Nov 2024
8 points (100.0% liked)

Lemmy Support

4663 readers
24 users here now

Support / questions about Lemmy.

Matrix Space: #lemmy-space

founded 5 years ago
MODERATORS
 

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?

top 6 comments
sorted by: hot top controversial new old
[–] andrew_s@piefed.social 6 points 1 week ago (1 children)

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.

[–] SatyrSack 1 points 1 week ago (1 children)

Great information, I appreciate it!

Given that, I don't really see the point, other than trying to a completist about stuff.

Considering this is just a silly community about a TV show that ended a decade ago, I absolutely agree. But, hypothetically speaking, could it be possible to fully sync, votes and all? Given some important community where vote counts actually did matter for some reason, could admins from both instances coordinate with each other to manually query their respective databases to get historical posts, comments, upvotes, and downvotes synchronized?

[–] andrew_s@piefed.social 1 points 1 week ago

Hypothetically, sure: the info exists in one place - they'd just have to arrange a way to transfer it.

Votes themselves are a simple activity, but each one can cause a surprising increase in storage requirements (every vote has a user, every user has an instance, every instance has admins, and all these entities might have avatar and banner images associated with them). Most instances are run by one person as a hobby, and paying for DB and image storage seems to be the no. 1 reason for instances folding, so there's generally a question of how much one instance should be an exact mirror of another one.

[–] ada@lemmy.blahaj.zone 2 points 1 week ago (1 children)

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.

[–] SatyrSack 1 points 1 week ago* (last edited 1 week ago)

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?

[–] taaz@biglemmowski.win 1 points 1 week ago* (last edited 1 week ago)

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