Threading over plain RSS is just matching a reply's reference to its parent:
function resolveReply(item: FeedItem, posts: Post[]): Post | null {
const ref = item.inReplyTo ?? item.thrInReplyTo
return posts.find(p => p.url === ref || p.guid === ref) ?? null
}
No cross-server API. No shared database. Just feeds. ๐