How Federation Works

2 minute read
Published: 4 May, 2018

or: Why is my Federated Timeline empty?

A lot of people join our support channel (#pleroma on freenode) with the same sentence: “I just set up Pleroma but federation isn’t working”. Usually, this is not actually true, they just have an empty timeline. What they don’t know is how posts actually get into your instance. This short post is about the mechanisms that can make a post use your instance.

This is Pleroma specific, other fediverse servers may use different systems, although they are all very similar.

You follow someone

This is probably the easiest to understand: If you follow someone, their posts will reach your server, because their server will send the posts to your server.

Someone directly mentions you

Someone directly mentioning you will send the post to your server, so this post will end up in the federated timeline.

A post is the OP of a reply you receive

If a reply to any post that the server doesn’t have arrives, Pleroma will try to fetch the original post. This is recursive, so if the last reply in a 200 post thread gets to you, your server will pull in the whole thread.

A post is repeated / boosted.

This will pull in the repeated post.

A post is favorited.

This is maybe less obvious, but Pleroma will pull in all the favorites of all the users that people are following on your instance as well. This is a mechanism that helps to make the federated timeline more likely to contain posts that you might like, but have not seen. Because of this, even small Pleroma instances often have a rather lively federated TL.

A post comes in through the relay mechanism

This is essentially the same as repeating.

A post is explicitly requested through the search interface

If you search for a post with the url of that post, Pleroma will try to pull it in.

These are all the ways that a post can reach your instance. As you can see, you need to start interacting to make the federated TL actually fill up! I hope this will help a few people when setting up new instances.