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.
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.
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:
Similarly, for notifications, the flow goes something like this:
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.
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.
Getting started is really easy: