The state of conversational contexts (February 2025)
-
A conversational context is what the ForumWG uses to describe what you might see as a reply tree or comment thread. One of the short-to-medium term goals of the ForumWG is to get conversational backfill working reliably.
What this means — conversational backfill means that when you encounter a post/status/note/etc. (e.g. you're mentioned or boosted/shared something), there is a reliable and comprehensive way to retrieve the entire conversation around it, so you are not interacting with the object on its own, but in its proper context with all its sibling replies.
We plan to achieve this with a combination of a top-down (FEP-driven) and bottom-up (implementor-first) approach. While this sounds incongruent, top-down approaches tend to overcomplicate and bottom-up approaches tend to violate the protocol (unintentionally of course
.)
There are a number of independent top-down efforts to achieve this:
- FEP-7888: Demystifying the context property
- FEP-171b: Conversation Containers
- FEP-76ea: Conversation Threads
These FEPs are in the R&D phase.
State of the Top-Down approach
At this time, the ForumWG is only recommending the following:
- Publishers SHOULD use
context
for grouping related objects in a thread (but this is not the only way to use context).
There is general agreement over:
- A
context
SHOULD resolve to a resource.
There are concerns over:
- What that resource is (
as:OrderedCollection
, a new type, something else?) - What is included in that
context
(plain objects or activities)
State of the Bottom-Up approach
The bottom-up approach is results-oriented, and while certain implementors may follow certain FEPs, the overarching goal is "cross-compatible conversational backfill".
Separately, these implementors are (or have signalled interest in) implementing conversational backfill:
- NodeBB and Discourse (@angusmcleod@mastodon.social)
- Following FEP 7888
- Attaches
context
to objects context
resolves to anOrderedCollection
- Two-way conversation backfill is tested and working.
- WordPress (@pfefferle@mastodon.social) and Frequency (@jesseplusplus@mastodon.social)
- Following FEP 7888
- Attaches
context
to objects context
resolves to anOrderedCollection
- One-way conversational backfill is tested and working — others can backfill an entire conversation from these implementors.
- Lemmy (@nutomic@lemmy.ml) and PieFed (@rimu@mastodon.nzoss.nz)
- Have signalled interest (neither positive nor negative) in conversational backfill and are waiting and watching at this time.
Of note:
- Mitra (@silverpill@mitra.social)
- Following FEP 171b
- One-way conversational backfill is tested and working — Mitra can backfill an entire conversation from FEP 7888 implementors
What's Next
This thread will likely contain updates and discussion from related parties about their implementations and what they wish to do next. In the cruelest irony of ironies, because conversational backfill is not ubiquitous yet, you will need to "View Original URL" in order to see all of the replies.
The ForumWG will meet again on 6 March 13h00 EST where all of this will be discussed, as well as planning out the future focus items for the ForumWG.
If you are an implementor, there is no reason you cannot join the fray. Boost this post, reply to it, join the conversation(al context)!!
If you're not an implementor, boost me anyway
Ok I tried this as as a root post
-
A conversational context is what the ForumWG uses to describe what you might see as a reply tree or comment thread. One of the short-to-medium term goals of the ForumWG is to get conversational backfill working reliably.
What this means — conversational backfill means that when you encounter a post/status/note/etc. (e.g. you're mentioned or boosted/shared something), there is a reliable and comprehensive way to retrieve the entire conversation around it, so you are not interacting with the object on its own, but in its proper context with all its sibling replies.
We plan to achieve this with a combination of a top-down (FEP-driven) and bottom-up (implementor-first) approach. While this sounds incongruent, top-down approaches tend to overcomplicate and bottom-up approaches tend to violate the protocol (unintentionally of course
.)
There are a number of independent top-down efforts to achieve this:
- FEP-7888: Demystifying the context property
- FEP-171b: Conversation Containers
- FEP-76ea: Conversation Threads
These FEPs are in the R&D phase.
State of the Top-Down approach
At this time, the ForumWG is only recommending the following:
- Publishers SHOULD use
context
for grouping related objects in a thread (but this is not the only way to use context).
There is general agreement over:
- A
context
SHOULD resolve to a resource.
There are concerns over:
- What that resource is (
as:OrderedCollection
, a new type, something else?) - What is included in that
context
(plain objects or activities)
State of the Bottom-Up approach
The bottom-up approach is results-oriented, and while certain implementors may follow certain FEPs, the overarching goal is "cross-compatible conversational backfill".
Separately, these implementors are (or have signalled interest in) implementing conversational backfill:
- NodeBB and Discourse (@angusmcleod@mastodon.social)
- Following FEP 7888
- Attaches
context
to objects context
resolves to anOrderedCollection
- Two-way conversation backfill is tested and working.
- WordPress (@pfefferle@mastodon.social) and Frequency (@jesseplusplus@mastodon.social)
- Following FEP 7888
- Attaches
context
to objects context
resolves to anOrderedCollection
- One-way conversational backfill is tested and working — others can backfill an entire conversation from these implementors.
- Lemmy (@nutomic@lemmy.ml) and PieFed (@rimu@mastodon.nzoss.nz)
- Have signalled interest (neither positive nor negative) in conversational backfill and are waiting and watching at this time.
Of note:
- Mitra (@silverpill@mitra.social)
- Following FEP 171b
- One-way conversational backfill is tested and working — Mitra can backfill an entire conversation from FEP 7888 implementors
What's Next
This thread will likely contain updates and discussion from related parties about their implementations and what they wish to do next. In the cruelest irony of ironies, because conversational backfill is not ubiquitous yet, you will need to "View Original URL" in order to see all of the replies.
The ForumWG will meet again on 6 March 13h00 EST where all of this will be discussed, as well as planning out the future focus items for the ForumWG.
If you are an implementor, there is no reason you cannot join the fray. Boost this post, reply to it, join the conversation(al context)!!
If you're not an implementor, boost me anyway
I look in medicine group and I can see a post I made from Lemm.ee earlier, but not this one from nodebb
-
@eeeee Thanks, can you open an issue about this? I'll have to see what Lemmy expects for a new submission.
-
@julian I tested out a root post that mentioned a PieFed community, and it got there okay - it's viewable at https://pythag.net/c/sci_fi (and federated out okay to another PieFed instance at https://palaver.p3x.de/c/sci_fi@pythag.net)
My guess as to why Lemmy might not like it is that the activity contains:
"audience": "https://community.nodebb.org/category/-1"
It looks like Lemmy tries to fetch that and can't parse the response.
-
@freamon oh! You're right on the money.
For whatever reason, Lemmy always checks
audience
even though it doesn't need to.I brought this up for discussion in their github, and it resulted in @nutomic@lemmy.ml removing parsing of
audience
altogether!So this might actually be a moot point once more Lemmy instances update, but I am not 100% sure.
-
-
@julian I implemented collection of posts in mitra. For now it is only attached to top-level posts (via
context
).Here, for example: https://mitra.social/objects/019529ff-7a45-9752-16f2-a3e780746c1c
@silverpill@mitra.social this is now tested and outgoing backfill is working with NodeBB.
Are there plans to introduce post collections to all levels via context?
While there is utility in exposing it for the root-level, if I am
Announce
'd one of the replies (e.g. this one), there is no explicit link to the top-level post in order to discovercontext
. -
@julian Sure, I will add
context
to replies. Maybe in the next release -
@julian Hubzilla internally backfills via context. Has done so all along. Activitypub content is so far backfilled via
inReplyTo
traversal and thereplies
collection.@mario@hub.somaton.com when you say "internally backfills", I'm assuming you mean between Hubzilla instances?
Is this done via
context
containing activities, or objects? -
@julian right between Hubzilla.
context
currently serves activities. But we are in the process of moving tocontextHistory
. -
I still cant post into a community on Lemmy. Ive had more tries and looked at other posts which are going in. It seems they are directed in there somehow, not just by mentioning the group in the post.
@julian did you get any idea on this? -
@eeeee it is likely due to
audience
.So, what happens on your end is you make a topic and mention the Lemmy community.
When NodeBB federates that post out, the Lemmy community is included in the mentions, but it also specifies your category 18, World Chat, in
audience
.If Lemmy sees that, and it doesn't know about that community already, it will drop the activity immediately. If it does, then it will likely slot the post into the "World Chat on isurg.com" community on that Lemmy instance.
Lemmy removed
audience
checking, so this might be a non-issue. Once that Lemmy instance updates to the latest version, it'll hopefully post to the correct community.That's a tricky one, though, because which community should it post to?
- "Medicine" on mander.xyz, or
- "World Chat" on isurg.com?
-
Ok but I also referenced @isurg@lemm.ee and that didnt get a notification either
-
I get your dilema about should it post in world or in medicine@mander.xyz
So if I want it to go in mander@xyz how to specify that? -
I get your dilema about should it post in world or in medicine@mander.xyz
So if I want it to go in mander@xyz how to specify that?@eeeee You wait for me to overhaul the entire
/world
/category UX so that you can "browse" to @medicine@mander.xyz from your NodeBB itself. -
That sounds good