Thanks – you’re right, I was confused. Hmm, messy. Is it that the semantics of “limited” match what’s wanted here, but the partial implementation rendering in the API and behavior are different? Or is it more that the partial implemenation matches the intended semantics, but it’s just partial?
It’s a semantic match in that “limited” is the counterpart to “public” (where “unlisted” is a form of public outside of Mastodon). Basically, a “limited” post is one that addresses a collection other than as:Public or one’s own followers collection.
To give an example: let A refer to Alice, AF refer to Alice’s followers, and B refer to Bob. Bob follows Alice. Alice uses Mastodon.
- A posts to: AF
- B receives A’s post (because B follows A)
- B posts to: A, AF
- A receives B’s post
- A chooses whether or not to forward B’s post to AF (because B should not know the contents of AF and does not have the right to deliver on A’s behalf, it is A’s responsibility to forward if they adhere to 7.1.2)
Mastodon’s algorithm is basically something like this:
- to: Public = “public”
- else, cc: Public = “unlisted”
- else, to or cc includes author’s followers collection = “followers”
- else, to or cc includes one or more unknown recipients = “limited”
- else, = “direct”
In Mastodon, A’s post is considered “followers” because it does not address as:Public but it does address AF which is A’s followers collection.
In Mastodon, B’s post is considered “limited” because it does not address as:Public and it does not address B’s followers collection. However, it is not considered “direct” because there is at least one recipient which is a collection / not a user.
From a UX perspective, it is fine if A sees B’s post as “followers” because A’s reply to that post will go to: B, AF.
From a practical perspective, A’s Mastodon server should show B’s post in A’s notifications, but members of AF on A’s Mastodon server might see B’s post if they click through to A’s post’s replies. They don’t see B’s post in their home feeds because they don’t follow B. I assume if they follow both A and B, they will see B’s post in their home feed. Members of AF on other servers will not see B’s post because A’s Mastodon server never forwarded B’s post to those remote followers.