@Peter VΓ‘gner @Dieguito π¦π§π»βπ»π How conversations work is not unified all across the Fediverse. Even how connections work is not unified.
Mastodon has taken over the follower/followed principle from Twitter which is always illustrated with arrows with one point. A following B is illustrated with an arrow from A to B. A being followed by B is illustrated with an arrow from B to A. A and B following each other mutually is illustrated with one arrow from A to B and one arrow from B to A.
It appears to me that Friendica has adopted this to become more compatible with Mastodon. But its several descendants, created by Friendica's own creator, starting with Hubzilla, haven't.
Hubzilla, (streams) and Forte still have the bidirectional "connection" or "contact" as the default. It's illustrated with one arrow, but with one point on each end.
Also, all three understand a threaded conversation as an enclosed contruct entirely owned by the conversation starter. Everyone on these three who has the start post on their stream always actually has the whole thread on their stream.
In fact, all three have Conversation Containers implemented. This feature was originally created in the streams repository in 2022. Forte has had it from the get-go as it started out as a fork of (streams). It was eventually turned into FEP-171b and backported to Hubzilla last year.
All three make sure that everyone who has a post on their stream also always has all comments on that post, at least those that are made after they have received the post.
This works on two basic principles:
- All comments go directly to the original poster because the original poster owns the thread.
- Those who have the post automatically receive all comments from the original poster.
In a pure Hubzilla/(streams)/Forte system, your above example would look like this:
- User 1 and User 2 are connected.
- User 1 and User 3 are connected. (This doesn't even matter.)
- User 2 and User 3 are connected.
- User 2 and User 4 are connected.
Much simpler than explaining everything with "following" and "being followed", isn't it?
Now, the conversation works like this.
- User 2 sends a public post, thus creating a Conversation Container of which they are the owner.
User 1, User 3 and User 4 receive the post. - User 3 comments on User 2's post.
The comment goes from User 3 to User 2, who is the owner of the conversation, and it is automatically forwarded to User 1 and User 4 who already have User 2's post on their streams. - User 4 comments on User 3's comment.
The comment goes from User 4 past User 3 straight to User 2, who is the owner of the conversation, and it is automatically forwarded to User 1 and User 3 who already have User 2's post on their streams.
The only mentioning that occurs here, if any, is User 4 mentioning User 3. This is not necessary for User 4's post to reach anyone. This is only necessary to make sure on Hubzilla (which doesn't have a tree view) that User 4 is replying to User 3's comment and not to User 2's post.
On Mastodon, for comparison, everything depends on who follows whom, who mentions whom and whose instance knows whose instance.
#Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mastodon #Friendica #Hubzilla #Streams #(streams) #Forte #Conversations #FEP_171b #ConversationContainers