The state of conversational contexts (February 2025)
from julian@community.nodebb.org to swicg-threadiverse-wg@community.nodebb.org on 21 Feb 2025 17:42
https://community.nodebb.org/post/103461

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 :joy:.)

There are a number of independent top-down efforts to achieve this:

These FEPs are in the R&D phase.

State of the Top-Down approach

At this time, the ForumWG is only recommending the following:

There is general agreement over:

There are concerns over:

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:

Of note:

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 :stuck_out_tongue:

#activitypub #backfill #forumwg #swicg #swicg-threadiverse-wg

threaded - newest

silverpill@mitra.social on 21 Feb 2025 18:27 next collapse

@julian

Streams and Hubzilla also implement context collection. They attach context to activities, it is an OrderedCollection, and its items are activities.

@angusmcleod @pfefferle @jesseplusplus @nutomic @rimu

julian@community.nodebb.org on 21 Feb 2025 19:02 collapse

@silverpill@mitra.social can Mitra, Streams, and Hubzilla backfill from each other (full two-way backfill) or one-way at this time?

silverpill@mitra.social on 21 Feb 2025 19:40 collapse

@julian Mitra can backfill from Streams and Hubzilla, but it doesn't publish any collections yet.

Streams and Hubzilla have interoperable FEP-171b implementations, but I don't know about pulling the collection. They are more focused on private conversations where backfilling is not needed.

julian@community.nodebb.org on 21 Feb 2025 21:16 collapse

@silverpill@mitra.social thank you! I've updated the original post to reflect that now.

silverpill@mitra.social on 26 Feb 2025 19:45 collapse

@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

julian@community.nodebb.org on 05 Mar 16:12 collapse

@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 discover context.

silverpill@mitra.social on 05 Mar 16:13 collapse

@julian Sure, I will add context to replies. Maybe in the next release

@angus @mario @jupiter_rowland @kopper

mario@hub.somaton.com on 22 Feb 2025 07:10 next collapse

@julian Hubzilla internally backfills via context. Has done so all along. Activitypub content is so far backfilled via inReplyTo traversal and the replies collection.

julian@community.nodebb.org on 06 Mar 17:59 collapse

@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?

Edit: Cursory examination suggests you're following 171b, serving activities.

mario@hub.somaton.com on 06 Mar 18:21 collapse

@julian right between Hubzilla.

context currently serves activities. But we are in the process of moving to contextHistory.

angus@socialhub.activitypub.rocks on 24 Feb 2025 11:09 next collapse

Thanks for putting this together @julian. I'll be coming to the next Forum WG meeting on March 6 to discuss next steps

panos@community.nodebb.org on 25 Feb 2025 21:34 next collapse

IIRC @kopper@brain.d.on-t.work implemented backfill on Iceshrimp.net, maybe they wanna share their approach.

eeeee@community.nodebb.org on 27 Feb 2025 13:58 next collapse

Very complicated all this Fediverse stuff! Far from the dream of having one account for everything, I seemed to need an account on every service to get the whole picture. I have now Nodebb, Mastodon, Lemmy, PixelFed and Peertube!
I dont know if Im just not using it properly, or if seeing everything from any one of these site is even possible?
@julian how far off is the prospect of using my nodebb account for all Federated chat, is that even achievable in long term?

kichae@community.nodebb.org on 27 Feb 2025 14:53 collapse

@eeeee
From this website, you can follow almost any user account you want on almost any Mastodon-, Lemmy-, mbin-, PixelFed-, Misskey- (and its forks), Hometown-, Friendica-, Hubzilla-, or Mitra-based website, barring a few minor obstacles (neither side needs to have blocked the other, neither side needs to have disabled federation, and the user you're following needs to have not blocked you). You can also follow groups like Lemmy communities, or Guppe groups.

There's really no need to have accounts on all platforms. Not unless you want to have separation between what you post, or want the variation in UX that comes with all of these different pieces of software focusing on different core experiences.

What's important to know is that they work via syndication -- content is mirrored across the network, not viewed insitu -- and that syndication doesn't occur without prompting. So, you need to go through the steps of entering a remote user or group's url or full account address (username@host.tld) in order to fetch content, and that content, by and large, is not backfilled.

If you can accept these limitations, then a single Mastodon, mbin, nodeBB, etc. account is all you need.

julian@community.nodebb.org on 27 Feb 2025 15:08 collapse

@Kichae @eeeee that is my approach as well. I was tired of having to maintain so many accounts for "social media", and so when I was finally able to make NodeBB my primary gateway to social media that was a big step for me.

It doesn't hurt that I get way more engagement on the open social web 😅

kichae@community.nodebb.org on 27 Feb 2025 15:10 collapse

@julian "We're making a super cool product that's adopting this space" tends to go over well in the Fediverse, yeah. We love being catered to with cool toys and tools!

And good God do I miss real forums, after a decade on Reddit.

eeeee@community.nodebb.org on 27 Feb 2025 16:35 next collapse

Ok, if I can give specific example. I found a community via lemmy which is interesting.
@medicine@mander.xyz
If I want to post a topic in it, can I make a nodebb post and send it there?

julian@community.nodebb.org on 27 Feb 2025 16:44 collapse

@eeeee I'm not actually sure about it, but I think all you have to do is mention the community.

In fact, you did in your reply, and I don't actually know what would happen normally. Perhaps it has to be a root post.

eeeee@community.nodebb.org on 27 Feb 2025 16:58 next collapse

Ok I tried this as as a root post
<img alt="1000041037.jpg" src="https://community.nodebb.org/assets/uploads/files/1740675479079-1000041037.jpg">

It didnt get there.
Whereas I can post into that community with my similar named lemm.ee account

eeeee@community.nodebb.org on 27 Feb 2025 16:59 collapse

.. in medicine@mander.xyz group nothing arrived
There is a post I made earlier (using isurg@lemm.ee) but not this latest one from isurg@nodebb
<img alt="1000041036.jpg" src="https://community.nodebb.org/assets/uploads/files/1740675562176-1000041036.jpg">

julian@community.nodebb.org on 27 Feb 2025 17:30 collapse

@eeeee Thanks, can you open an issue about this? I'll have to see what Lemmy expects for a new submission.

freamon@community.nodebb.org on 28 Feb 15:59 collapse

@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.

julian@community.nodebb.org on 28 Feb 16:10 collapse

@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.