So I think it's the PubSubHubbub portion that does what I'm looking for.
Current understanding: I make a post & my instance pushes that post to each instance where someone follows me.
Which means if some single-user instance's user follows me, but no one on my instance (including me) follows them, then my instance is "aware" of theirs, but not in a way that their posts would show up on our federated timeline.
Anybody poke holes in that?
@benhamill That sounds like the correct interoperation, yes.
—
No one on the server has asked for toots from your single user server, so the larger instances doesn't ask for them.
—
Replies to things might federate. And of course, the occasional toot might find it's way to the first server via retooting.
@NthTensor Middle thing reworded and still correct: No one on my instance has asked for posts from the single-user instance, so my instance never subscribed to them on the single-user server and thus the single-user instance doesn't push them to my instance?
Third thing: Yeah. Good clarification.
I'm chasing this because someone mentioned the idea of a new privacy setting where your instance would more closely federate with a short list of other instances (forming a slightly larger community). Basically a list of other instances your posts would go to that wasn't Just Everyone in the Federation:tm:. I'm trying to understand how that might work on a technical level and it doesn't sound super hard or breakey.
@benhamill It depends on who runs the servers and how close you want them to be...
—
You could fork the main code, and create a p2p pipeline between the instances so that all toots from one are assured to end up on the other two...
—
That only works if the admins of the servers are willing to all use the same codebase.
@benhamill Anther solution is follow bots; but at that point, why not just implement them directly in code. After all, you want a closed system.
—
Follow bots are necessary because they allow for extension over the entire network. You do not require that.
@NthTensor Nah. 100% solve it in Ruby. If I implemented this, I'd be looking at a PR against mainline Mastodon. I don't want a closed system, I want an inner circle and an outer circle, both.
I think I grok this well enough that I might at least open an Issue to discuss it with maintainers.
@benhamill Tell us how this turns out. I am interested.
@benhamill Instances such as https://awoo.space use a whitelisting vs. blacklisting approach to federation. It would also be possible to allow federation with all instances but limit the federated timeline to a subset. An instance can't do much about where toots go once they leave the instance though. Privacy is difficult in a federated system.
@binary @NthTensor In this case, though, if you posted with the new setting, it would just never notify those instances not in the allow-list. And you'd still have the "Public" setting that would go wherever.
Boosts and such could potentially break your post out, but that's true of Unlisted and Private today, right?
@benhamill @NthTensor I think that's right.
@benhamill That is correct. Posts show up in the federated timeline if they pass through your instance for one of a number of reasons, the simplest is that someone on your instance follows them. Also replies to posts from your instance.