Has anyone experienced it on #QOTO? Its the second time @ClaraListensprechen4 had this happen but I'm trying to figure out if its specific to them or a general problem.
@freemo I've had something similar before, but it's been a long time. I stopped using the federated tab on account of it being way too full of low quality content that made it hard to find anything useful + nsfw things I didn't want on my screen.
The federated tab is very much drinking from the firehouse in terms of content, and Mastodon has a default rate limit of three hundred API calls per five minutes (i.e. one per second, on a five minute average). I dunno if QOTO changed that - we have some things like post length limit that are better than default - but there's some limit, anyway. My working hypothesis is that just fetching the new posts gets pretty close to whatever the cutoff is, but doesn't bust it; and sometimes the web client has to make additional API calls that blow the budget. The quoted post mentions that a video came up, so fetching the media file is a plausible additional step that could be to blame.
I believe there is a "slow mode" in the settings. Maybe try that and see if the problem goes away?
@ClaraListensprechen4 @khird @freemo I've just recently discovered how useful the federated tab is. Anyone aware of developments to apply user-selected filters on it? I'd be interested to help out with developing that, as I think it's a current weakness of the fediverse.
@ClaraListensprechen4 @khird @freemo well, I imagine you wouldn't subscribe to servers in languages you don't understand. At least I hope you won't ;)
@ClaraListensprechen4 @khird @freemo I also follow Japanese who post about visual illusions, but am more into conversations than into images. But I also agree with the idea behind your comment regarding translation. The world is such an amazing place, better than fiction, I'd even say
@ClaraListensprechen4 can you pop into the developer console, network tab, and see what URL it's trying to reach (probably giving you a bunch of 429 responses)?
@ClaraListensprechen4 it's a browser tool that lets you edit a page's HTML live, debug executing javascript, inspect network traffic, and a couple other things. It's intended to provide useful information for a developer trying to troubleshoot a problem with his website, but it's widely useful beyond that.
@ClaraListensprechen4 yep. In Firefox on Linux it's Tools > Browser Tools > Web Developer Tools.
@khird @mapto @freemo
Posting this screenshot as a benchmark of sorts. That nifty browser tool showed a rapid-fire series of qoto interactions but no errors came up, and all it was doing was updating the number of new items in the Federated realm.
I suppose it's conceivable for the interaction rate to become a lot faster beyond a certain number of new items coming in from the Federation; when I get errors, it's often been when I'm just sitting here watching the errors rack up, not touching the keyboard or scrolling or anything.
My account here has always had "slow mode" selected.
@ClaraListensprechen4 that's very useful information. I can see that you're approaching one request per second (I count fifteen requests before hitting the twenty-second mark) - which is already close to bumping you over the limit. Perhaps the biggest smoking gun is the URLs requested: you're constantly getting relationship info. That's not something required to show the timelines, but QOTO has a nonstandard extension which I suspect is to blame: the little icons that show up beneath each user's avatar in the timeline. These icons can change colour based on relationship: grey means neither follows either, yellow means he follows you, blue means you follow him, and green means you each follow the other.
I haven't yet found a way to disable this behaviour on the client side (unchecking the relevant boxes in the settings removes the indicators from the display, but the API calls are still made). Ideally this should be addressed in the QOTO frontend code, but it's not clear how difficult the fix would be. It looks like it's possible to use a single API call to get info on several accounts, so in theory we'd be able to batch up the requests and submit a bunch of them every five seconds or something. Alternatively, it might be possible to make the API calls only if the user has the feature enabled (the frontend should have that information already), but I don't know the code well enough to say how much else would need to be changed. The straightforward approach of outright blocking requests to the relationships endpoint causes errors, unfortunately.
@freemo the offending call is dispatch(fetchRelationships([status.reblog ? status.reblog.account_id : status.account_id, status.quote ? status.quote.account_id : null].filter(function(e){return e}))) in mastodon/actions/timelines.js.
@ClaraListensprechen4 have you observed whether it tends to fail at particular times? A bunch of bots may all post hourly at the top of the hour (or maybe daily at midnight Greenwich time) and cause a temporary spike in traffic which busts the rate limits.
@khird @freemo @mapto
#QOTO #RateLimit
After days of behaving itself, the error came up again and according to this screenshot, it's all QOTO. The flags in the leftmost column changed to green when the errors cleared up.
@ClaraListensprechen4 @khird @freemo wow, this is kinda what I've been talking about. I :heart: freemo https://github.com/mastodon/mastodon/discussions/19819