top | item 45078071

(no title)

alethic | 6 months ago

This isn't correct. Mastodon merged fetch-all-replies in March. https://github.com/mastodon/mastodon/pull/32615

The only difference in visible replies is in the moderation choices of the server the post is viewed from.

discuss

order

INTPenis|6 months ago

Yes but it's off by default for a reason, it's not realistic to expect every node to fetch all messages.

This is a catch 22 because the reason fedi is more decentralized is because of the low barrier of entry to run a node, but at the same time that low barrier means it takes less resources because it does not fetch every single message and piece of media.

alethic|6 months ago

It's currently on on the flagship instance and will be on by default in the upcoming 4.5 release.

danabramov|6 months ago

How does it work?

In ATProto, there is no need to do this on-demand because the data is already there in the AppView. When you want to serve a page of replies, you read them from the database and serve them. There is no distributed fetching involved, no need to hit someone else's servers, no need to coalesce them or worry about limiting fetches, etc. This is why it works fine for threads without thousands of replies and hundreds of nesting levels. It can also be paginated on the server.

If you don't have this information on your server, how can you gracefully fetch thousands of replies from different servers and present a cohesive picture during a single request? I'm sure this PR does an attempt at that but I'm not sure this is a direct comparison because Mastodon can't avoid doing this on-demand. If we're comparing, it would be good to list the tradeoffs of Mastodon's implementation (and how it scales to deep threads) more explicitly.

alethic|6 months ago

There is a detailed explanation available at the link I posted. Second header, "Approach".

skybrian|6 months ago

Good to know. Thanks for the update!