Can anyone direct me to a comprehensive explanation of how/what posts show up on a an instance's federated timeline?
Particularly, I'm referring to an #Akkoma instance, but I wonder if the mechanism is similar for all #ActivityPub servers.
@nebunez I was looking over the ActivityPub protocol documentation earlier and it seems pretty good. Does this help?
https://www.w3.org/TR/activitypub/#server-to-server-interactions
@HiRezCanDo Hmm, okay. This does help a little but it doesn't explain some of the posts showing up on my instance's federated timeline @ https://fuzzyroots.net
E.g., this post just hit the timeline: https://mastodon.beer/@robfrominternet/109412898814228875
It's from 5 days ago and nobody in this thread is being followed by the single active user on Fuzzy Roots.
My speculation now is that it has something to do with the hashtag "Introduction" being used in the original post of this thread and on Fuzzy Roots, but idk why/how.
@nebunez is something like this what you're looking for? https://dev-static.glitch.social/media_attachments/files/000/450/444/original/abe1e39c4411c4da.png
@Xantulon This is also helpful (thank you) but it still seems like (several) posts are making it on Fuzzy Roots federated timeline that do not fit the criteria in this flow chart.
@Xantulon Maybe this flow chart is Mastodon-specific and there are more differences between ActivityPub implementations than I thought..
@nebunez I haven't seen any general activity pub diagrams like that. I'm sure it's in the specs, but visualizing it is much easier for me to trace
@Xantulon I agree with the visual help, for sure. From what I've read in the specs I haven't found anything that explains this.
So far, in my experiment, it seems that small instances may have discovery problems.
@nebunez I wonder if messages are getting lost in queues. For the last hour(?) images have been taking forever to load. It may be a traffic processing issue
@nebunez A post P from a member M will appear on an instance's I's Public timeline if:
AND
AND
For a post to appear on the Public timeline, the post's own status must be "Public". Unlisted posts may otherwise be federated but won't appear on the Public timeline. Those non-public can be viewed if invoked directly and the viewing , when viewing the author's profile, or within the thread view, say, if a reply post anywhere downstream of the post references a profile on the receiving instance. Note that if the post P was not already federated, then the reply will appear to be "orphaned", though it's often possible to track down parent posts if those were Public or Unlisted, but not in the case of Followers-Only or DM posts, or in the case of posts from a profile or instance blocked by or blocking the local member N or instance I.
Further: even if a post is federated to a specific instance, if either profile has blocked the other, or there are filters against terms used in the post, it won't be visible *to that specific member N * on the receiving instance.
It is possible for content from members not followed by anyone on a specific instance to appear. And it's possible due to instance issues for posts which would normally have appeared to not be federated.
Yes, it's a bit complicated. And yes, this means that there's all but certainly no comprehensive view or archive of all Fediverse traffic. For various reasons, over time some rather interesting patterns of flow-and-blockage emerge at both individual profile and instance levels.
I believe someone's done a flow chart or Venn diagram showing most of these relationships. I'm pretty sure I've got this logic correct though I may have missed some edge cases.
@dredmorbius
> It is possible for content from members not followed by anyone on a specific instance to appear. And it's possible due to instance issues for posts which would normally have appeared to not be federated.
This is exactly what I'm experiencing. While it *is* complicated, and subject to chance and nearly untracable issues, I am happy to see this in your detailed report (thank you).
Between all responses here, I am ready to move on to finding good relays to help discovery
@nebunez I've only recently learned of relays, but yes, if you're on a smaller instance, they may help.
Though my understanding is that relays are for exporting your own content more than ensuring that other instances' content reaches you.
Again, very thin understanding here.
@dredmorbius @nebunez To add to this, from what I can tell, the federated timeline is everything sent to your instance (that isn't blocked), so the conditions are on the _sending_ side, not the _receiving_ side. Different ActivityPub implementations might send under differing situations.
@dredmorbius @nebunez Yeah I haven't looked at how relays work. I suspect your instance sends traffic to the relay and then the relay remembers the instance for a time and sends its traffic.
My point is that the logic for something showing up is on the sender side and the receiver optionally blocks it.
@dl @dredmorbius
Here's a screenshot of the Admin Frontend. It looks to me like there is some intention for instances to be able to follow one another.
@dl @dredmorbius "Sender determines where content goes, and the receiver optionally blocks it" --I assume that this mechanism of following relays means that the sending instance has a list of following instances to send all public messages to. From this admin interface, adding a relay here probably communicates to the other instance that I want my instance to receive all of their content.
I've tried with a few relay URLs I've found but they've all been rejected (I may have entered them wrong)
@nebunez - I've been trying to figure out the exact same thing. There's always a few of these edge-case posts that I can't figure out where they came from.
On a single-user instance, I'll occasionally see posts from users I don't follow, on instances I don't follow anyone on, and without a single favourite/boost. I've also never searched for that post or user.
The best I can figure is if occasionally I get posts from accounts the people I follow directly follow.