mastodon / mastodon

Your self-hosted, globally interconnected microblogging community
https://joinmastodon.org
GNU Affero General Public License v3.0
47k stars 6.95k forks source link

Home feed not loading past a certain post. #21236

Open ArtOfRengin opened 1 year ago

ArtOfRengin commented 1 year ago

Steps to reproduce the problem

Hi, I’ve been using Mastodon for a couple weeks, and it seems that sometimes the home feed gets stuck after about 10-20 posts. I’m not sure what triggers it. This afternoon, I couldn’t scroll past 4 posts or so, with the oldest post being from 2 hrs ago. Currently I can scroll down all the way to that post, which is now 6 hrs old, but not past that. I probably have around 30 posts to scroll past on my home feed now.

I know that people I follow have been making public posts that should be ending up in my home feed, because I can see them when I go to their profile (posts & replies with a globe next to the post time)

Steps:

  1. Log in and open home feed
  2. Scroll down past newest posts until older posts don’t load anymore (progress bar across the top of the page appears, but no new posts).
  3. Click “Load more” button
  4. The page seems to refresh (progress bar across the top of the page zips by), but no new posts appear and the “load more” button stays visible.

I asked the mod of my instance but they directed me here. If you need any more info, please let me know. I’ve done some troubleshooting with the aid of Github before but I haven’t posted here until now.

Expected behaviour

Posts should be loading in home feed after scrolling down

Actual behaviour

Feed seems to hang on one post and clicking load more does not display more posts

Detailed description

No response

Specifications

Safari (iPad iOS 16) Chrome (iPad iOS 16)

ClearlyClaire commented 1 year ago

Do you hide replies or boosts? Do you use filters that hide instead of warn?

The Home timeline is limited to 400 posts as it is stored in memory, but some filters are applied on top of that timeline, so filtered out posts will still count in the 400 posts limit.

ArtOfRengin commented 1 year ago

I don't have any filters in the filter settings whatsoever.

I can't find any settings to hide replies or boosts, so I don't think I have turned those on. I don't use any 3rd party to alter the Mastodon experience, in case there are any. 

I do have slow mode enabled, in case that makes a difference.

Edit: I just tried scolling through home feed on PC and iPad (chrome and safari respectively) and now it seems to be loading maybe about 100 posts (or more, but I def wouldn't say 400) before I encounter the end of the feed without the option to load more. Latest post is from 2 days back.

twilde commented 1 year ago

I am having a similar problem, which does appear to be related to toggling off "Show boosts". It appears that my home timeline has a stretch of so many boosts that the "load more" link can never progress (all posts it loads are boosts, so it doesn't progress to attempt to load a further set of posts).

If I toggle on show boosts, I scan scroll past the "dead" point in my home timeline, and after doing that, even if I turn show boosts back off, it's okay again, as long as I don't reload.

I think something in the "load more" logic needs to progress a timestamp based on what was loaded, even if no new content is displayed.

twilde commented 1 year ago

Also worth noting is that when one of these gaps appears, it is persistent. So while my last gap was an hour ago, if I scroll down to that point in my timeline, infinite scroll breaks down, and the "load more" link continues with the behavior I mentioned. Which makes sense if those two share code, which they logically would.

Krinkle commented 1 year ago

This might be a duplicate of https://github.com/mastodon/mastodon/issues/20173

twilde commented 1 year ago

I think they're possibly related, but I don't think they're duplicate - there IS non-boosted stuff in the timeline past the "stuck point" when this happens, you just can't get to it because of the way the pagination logic works.

mjohanning99 commented 1 year ago

One of my users has this exact problem as well. I have even manually increased the post limit from 400 to 1,000 (as is discussed in #20173), but to no avail. I can replicate it myself as well (though I see more posts as I follow more people as well).

They also have boosts disabled and see only roughly 20 posts. However, when enabling boosts temporarily, scrolling all the way down to the bottom and then disabling them again causes more posts to appear — at least unti the page is reloaded.

I also believe this appears to be an issue with how Mastodon handles the disabling of boosts' visibilty.

tyrosinase commented 1 year ago

Same behavior as #14957, which has been open for a couple years.

wertziop commented 1 year ago

"load more" is a call to /api/v1/timelines/home?max_id=xxx where max_id is the id of the oldest post which will be loaded and displayed. as a user i observe that sometimes max_id will be set to a fixed value, in very bad cases, the last post i wrote. that prevents loading of older posts and scrubs my timeline. unfortunately max_id is persistent beyond sessions and after starting a new session even on a different device max_id still refers to the same value.

this behaviour was introduced on my instance only a week ago, because i'm not admin, i don't know, if something was changed, last week.

pretty please review this issue and fix it. :)