It would make sense to forward replies to all followers for a reposted post the same way they’re forwarded for a regular one, but apparently this isn’t happening. I simply receive an
Announce and that’s it. I could fetch the replies as of the repost, but that doesn’t solve keeping the thread up to date. Polling is a solution but a beyond terrible and impractical one. I’m kinda lost here.
Nevertheless, Mastodon (at least the mastodon.social instance I’m on) somehow has complete threads for all reposted posts. Am I missing something? Am I supposed to do something to tell the instance that hosts the original post to send me the replies? Or is this just because mastodon.social is big and thus interconnected with a sizable chunk of the fediverse?
This is a known hairy situation. The audience of an
Announce may be different than the audience of the
Object that is being Announced, which may also be different than some/all/none of the replies to the original
Object. Additionally, delivering such replies to a remote server indicates some sort of action has taken place in ActivityPub land (imagine getting notifications for the repost plus all replies at the same time!), so the fetching mode has been the convention.
Yes but how do you keep the thread up to date, and preferably without delays? What triggers re-fetching?
I am on a Mastodon instance of one (running the latest version) social.wake.st and I do not get compete threads. There are often missing replies and have to open the OG poster to see the full version. So I think most of what your talking about is because mastodon.social is connected to almost everyone already.
My idea was that LD-signature-signed activities can basically be forwarded indefinitely. So suppose Eugen on mastodon.social retoots a cat picture, hosted on instance A (a very common occurrence in fact). My instance receives that Announce and fetches the original post. Instance A receives that Announce too and so knows that the post has been retooted by Eugen. Now when someone from instance B replies to that original post, it makes sense for the following to happen:
- Instance A receives the reply from instance B.
- It forwards the reply to everyone who has retooted the toot, including mastodon.social.
- Then, mastodon.social forwards the reply one more time to Eugen’s followers, just like it already does with replies to Eugen’s own toots.
This is not universally desirable due to the privacy concerns I mentioned before.