genserver-social / community-tracker

A place to report issues, and track todo's
11 stars 0 forks source link

Older posts by (newly followed?) users from different instances don't load #2

Closed nietaki closed 1 year ago

nietaki commented 1 year ago

I noticed there's a discrepancy between the profiles of the users "proxied" from other instances and the posts on their home instance.

For example: https://genserver.social/users/AU3cuHQpZe0Com2nIm - contains only one post, the latest one, and clicking Load older posts doesn't do anything. Whereas https://mastodon.social/@Jimmfelton contains 14 posts from the last 6 months.

Similarly with https://genserver.social/users/AU6mIRs9tBGZD9Izey#statuses - the profile contains just the pinned post (from 8 months ago), but not the latest ones from https://fosstodon.org/@sheepdev , where there's been multiple posts in the last week.

My first guess would be that the server doesn't load the "backlog" of the users' posts, just the ones starting from the time the first user in the instance followed them. Or that the backlog loading is run in a scheduled background task, which hasn't happened yet (for these users).

Is this the desired behaviour or some configuration quirk? I tried going through the configuration docs, but I don't see anything related to this.

nietaki commented 1 year ago

I found this issue on mastodon and it seems like that might be the expected behaviour, but it is confusing to many new users (including myself). I guess adding some (configurable) pull flow for this scenario in Akkoma could be the way to go - when I feel like a challenge I might try looking at the Akkoma code :D

piisalie commented 1 year ago

You are correct, before anyone follows a user the server has no way of knowing it exists so there are no posts for it.

Once you do follow a user, the server will pull old "pinned" posts, but it's not going to download a backlog of 15k posts.

Generally the remote server should be considered the source of truth for posts and follower counts and such for remote users, and the local version mostly a cache. Especially since many servers prune old remote posts after a set amount of days to save disk space.

The idea is that once you've followed them, you'll get new posts and edits and updates and stuff, and any post you interact with will stay around so as not to break threads and bookmarks and conversations.

piisalie commented 1 year ago

I did a little more searching on this this morning, and not having older posts filled is expected behavior and it's not specific to Akkoma: see also

If you would like to try adding a "back fill recent posts" button or something similar I would start by creating a discussion in the forums to ask if it's something that has interest in the community.

I do think it could get rather tricky to implement due to how posts are loaded, eg let's say we do "the last 20 posts" then it would also pull in all replies, and favorites, and the users related to those replies and favorites and their pinned posts and ... etc.. and may not be wanted by smaller instances due to the possibility of additional resources required.

Hope that helps, feel free to re-open if you feel this warrants further discussion. :)

nietaki commented 1 year ago

Yeah, that's helpful - I still have very little understanding how Akkoma works, so you looking into it as well was great.

Thanks for pointing me to the forums too - it does seem like a good place to start this discussion