combine.
social

Combine Remote And Local Timelines

It’s a problem. Not all relevant messages are relayed across Mastodon servers.

Combine.social offers an easy and simple solution to missing replies in your home timeline or apparently empty profiles showing up in likes, boosts or follow requests showing up in your notifications.

The Root Cause

In a sentence: The root cause is that servers only send messages to followers.

One side-effect of that is that if a person who you do not follow replies to a (non-local) message, then you do not see the reply. Similarly, any previously unknown user will show up as never having posted any messages, when they first appear in your notifications.

The Solution

How does it work? The service that simply polls your home timeline and notifications and fetches replies to all posts as well as all recent messages by any user who shows up in your notifications (e.g. likes, boosts or follows).

The flow goes something like this:

  1. Fetch all messages from for the last 24 hours.
  2. Fetch all replies from the remote server.
  3. Ask your server to pull each remote message.
  4. For each reply, go to step 2.

Similarly, for notifications, the flow goes something like this:

  1. Fetch all notifications from for the last 24 hours.
  2. Do a WebFinger lookup of each user that created a notification.
  3. Fetch the latest messages sent by each user.
  4. Ask your server to pull each remote message.
  5. For each message, perform steps 2-4 as above.

The Devil In The Detail

There is of course a devil in the detail, Mastodon has a rate limit on most API calls set to 300 requests every 5 minutes per user. The rate limit is upheld by making sure that the fetch function is throttled to one request every two seconds (so we don't exclude the human user from actually accessing those remote hosts by taking up the entire rate quota).

What this means for you is that it might take a while ( ~30 minutes or so) before you see replies starting to show up after you first authorise this application.

Your Data Is Still Yours

The privacy policy: None of your messages are stored outside of your server. A list of message URLs are queued up. URLs of replies to remote messages are fetched and queued up as well.

The only thing we store is your username and an access token with read-only permissions.

Nothing will ever be written to your account or posted on your behalf.

If you de-authorize combine.social it will automatically delete the token it has stored, and if you re-authorize multiple times it will just replace the old token, so it’s super easy to turn on and off if you ever change your mind.

The source code is also available if you want to know what is going on or host the solution yourself.

Signups currently closed

Check back later. Sorry for the inconvenience.