Feature Highlight for v4.12.0 — Activity Intents
-
A new feature silently dropped in v4.12.0. NodeBB now supports Activity Intents!
Huh? What's an Activity Intent?
It is a proposal by @benpate@mastodon.social that aims to "extend the capabilities of an ActivityPub server beyond a user's outbox, and enable direct interactions with content on the wider social web."
In other words, it allows you to more seamlessly use your fediverse account on other sites without having to register a new account just to contribute.
In even simpler words, it means you can go to other forums and interact with content without needing to register a new account.
It directly tackles one of the fediverse "hard problems" I talked about last year — account fragmentation. You won't need additional accounts just to use other sites, your identity stays whole <img class="not-responsive emoji" src="https://community.nodebb.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=14b798222a5" title="
" />Let's learn more about how that works!
Account Fragmentation in a Nutshell
Right now, when you browse to a different site, you usually have to create a new account to interact with it. For example, if you check out someone's Pixelfed profile, you're not able to comment or like their pictures without an account there. This has always been how the internet worked, and before the advent of single sign-on, which lets you log in with a different account (but still creates a new account on that site), that was just how it was.
Essentially, there was no way to interact with content using your main identity. The workarounds were numerous... copying URLs, searching for the account on your instance, etc. All of which were fairly friction-heavy, so the next best thing was just to create a local account and fragment your identity.
Activity Intents intends (ha!) to address this by allowing servers to advertise support for different types of social actions.
How It Works
- You browse to another site and want to carry out an action, such as liking the post, or writing a reply.
- That site asks you to enter an Open Social Web handle (or log in, if you have a local account), and you enter it.
- It then queries your server to see what Intents it supports (e.g. "Like", "Create")
- If there's a match, it sends you back to your server, where you can complete the action.
That's about it! There are additional details about designing the actual flow, and how to "remember" each visitor's social web handle, but the basics are as listed above.
What it looks like in NodeBB
We've integrated support for four intents:
Like/Dislike→ These map to upvote and downvote respectivelyCreate→ These would be topic creations and repliesFollow→ self-explanatoryObject→ Load an ActivityPub resource in NodeBB
We integrated two-way support which means that if you land on a NodeBB and your fediverse account supports Activity Intents, then you can simply hit like, reply, or follow from NodeBB, and be sent back to your home server, all without the hassle of copying and pasting links into a search bar.
Integrating Activity Intents was a high-impact way to tackle the problem of account fragmentation. Users of NodeBB (whose forums have updated to v4.12.0) should not have to feel pressure to create local accounts elsewhere if the site they end up on supports Activity Intents as well.
-
A new feature silently dropped in v4.12.0. NodeBB now supports Activity Intents!
Huh? What's an Activity Intent?
It is a proposal by @benpate@mastodon.social that aims to "extend the capabilities of an ActivityPub server beyond a user's outbox, and enable direct interactions with content on the wider social web."
In other words, it allows you to more seamlessly use your fediverse account on other sites without having to register a new account just to contribute.
In even simpler words, it means you can go to other forums and interact with content without needing to register a new account.
It directly tackles one of the fediverse "hard problems" I talked about last year — account fragmentation. You won't need additional accounts just to use other sites, your identity stays whole <img class="not-responsive emoji" src="https://community.nodebb.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=14b798222a5" title="
" />Let's learn more about how that works!
Account Fragmentation in a Nutshell
Right now, when you browse to a different site, you usually have to create a new account to interact with it. For example, if you check out someone's Pixelfed profile, you're not able to comment or like their pictures without an account there. This has always been how the internet worked, and before the advent of single sign-on, which lets you log in with a different account (but still creates a new account on that site), that was just how it was.
Essentially, there was no way to interact with content using your main identity. The workarounds were numerous... copying URLs, searching for the account on your instance, etc. All of which were fairly friction-heavy, so the next best thing was just to create a local account and fragment your identity.
Activity Intents intends (ha!) to address this by allowing servers to advertise support for different types of social actions.
How It Works
- You browse to another site and want to carry out an action, such as liking the post, or writing a reply.
- That site asks you to enter an Open Social Web handle (or log in, if you have a local account), and you enter it.
- It then queries your server to see what Intents it supports (e.g. "Like", "Create")
- If there's a match, it sends you back to your server, where you can complete the action.
That's about it! There are additional details about designing the actual flow, and how to "remember" each visitor's social web handle, but the basics are as listed above.
What it looks like in NodeBB
We've integrated support for four intents:
Like/Dislike→ These map to upvote and downvote respectivelyCreate→ These would be topic creations and repliesFollow→ self-explanatoryObject→ Load an ActivityPub resource in NodeBB
We integrated two-way support which means that if you land on a NodeBB and your fediverse account supports Activity Intents, then you can simply hit like, reply, or follow from NodeBB, and be sent back to your home server, all without the hassle of copying and pasting links into a search bar.
Integrating Activity Intents was a high-impact way to tackle the problem of account fragmentation. Users of NodeBB (whose forums have updated to v4.12.0) should not have to feel pressure to create local accounts elsewhere if the site they end up on supports Activity Intents as well.
This is incredible @benpate@mastodon.social and @julian@community.nodebb.org . I'm absolutely blown away by the work you folks are doing. This isn't JUST for Emissary. This isn't JUST for NodeBB. This isn't JUST for Mastodon. THIS is for EVERYONE. And y'all are fantastic. When I see this kind of work, I honestly get emotional, because THIS is what changes the game. Thank you both and everyone, for all of your hard work. I know folks don't see it the way I do, but THIS is a step. Maybe the rigth direction, maybe 5 years down the line we say it wasn't, but it's a STEP that pushes EVERYONE forward.
<br/>
Thank you so so so so so much for spending your time and energy here.
-
This is incredible @benpate@mastodon.social and @julian@community.nodebb.org . I'm absolutely blown away by the work you folks are doing. This isn't JUST for Emissary. This isn't JUST for NodeBB. This isn't JUST for Mastodon. THIS is for EVERYONE. And y'all are fantastic. When I see this kind of work, I honestly get emotional, because THIS is what changes the game. Thank you both and everyone, for all of your hard work. I know folks don't see it the way I do, but THIS is a step. Maybe the rigth direction, maybe 5 years down the line we say it wasn't, but it's a STEP that pushes EVERYONE forward.
<br/>
Thank you so so so so so much for spending your time and energy here.
-
@liaizon@social.wake.st @ivan@bonfire.cafe @mayel@bonfire.cafe what version are you on? Can we see a picture?
I'm on the latest-beta and I don't see any warnings.
I will state that the message I replied to was from Julian's NodeBB instance. So it's translating from threadiverse to Bonfire, so probably some incompatability there.
-
@liaizon@social.wake.st @ivan@bonfire.cafe @mayel@bonfire.cafe what version are you on? Can we see a picture?
I'm on the latest-beta and I don't see any warnings.
I will state that the message I replied to was from Julian's NodeBB instance. So it's translating from threadiverse to Bonfire, so probably some incompatability there.
-
-
-
@smallcircles looks exactly the same on social.coop web on my android, what are you looking at it with?
-
-
@smallcircles looks exactly the same on social.coop web on my android, what are you looking at it with?
@liaizon Firefox v151.0.1 on Ubuntu.
-
@smallcircles@social.coop @mayel @liaizon@social.wake.st @ozoned@btfree.social
Its because we currently use the summary field as cw text when present...
-
@smallcircles@social.coop @mayel @liaizon@social.wake.st @ozoned@btfree.social
Its because we currently use the summary field as cw text when present...
@ivan @mayel @ozoned cc @julian so this issue is most articulated at the intersection of the three pieces of interacting software: NodeBB uses the summery, Bonfire then treats that as a CW when replying to NodeBB, then when replying to *that* from Mastodon, Mastodon copies the whole CW from Bonfire which is longer then it supports so then the reply doesn't work till you manualy delete the CW text.
-
@ivan @mayel @ozoned cc @julian so this issue is most articulated at the intersection of the three pieces of interacting software: NodeBB uses the summery, Bonfire then treats that as a CW when replying to NodeBB, then when replying to *that* from Mastodon, Mastodon copies the whole CW from Bonfire which is longer then it supports so then the reply doesn't work till you manualy delete the CW text.
@liaizon@social.wake.st hmm we're followijg @evan@cosocial.ca's long form text FEP and sensitive is not set to true, so it should not be treated as a CW
-
@julian @evan @nodebb-development maybe worth opening an issue on Bonfires side telling them what they should be doing instead?
-
@julian @evan @nodebb-development maybe worth opening an issue on Bonfires side telling them what they should be doing instead?
@liaizon@social.wake.st mm I should if only to start a discussion.
I should note that adhering to the long form text FEP is optional

-
@julian well the bonfire maintainers are tagged in my above post so the conversation has already started
-
@smallcircles@social.coop @mayel @liaizon@social.wake.st @ozoned@btfree.social
Its because we currently use the summary field as cw text when present...
@ivan @mayel @liaizon @smallcircles @ozoned Don't do that!
If you have to, only do it on Note objects. Everything else needs a summary that's really a summary!
-
@liaizon@social.wake.st this discussion by @liquidparasyte@indieweb.studio suggests that @mayel@bonfire.cafe changed Bonfire to default to CW on missing
sensitive.https://github.com/bonfire-networks/bonfire-app/issues/1841
NodeBB does not support CWs at all, so it does not set
sensitive, which may explain this behaviour.NodeBB should probably set
sensitivetofalse -
@ivan @mayel @liaizon @smallcircles @ozoned Don't do that!
If you have to, only do it on Note objects. Everything else needs a summary that's really a summary!
@evan@cosocial.ca @ivan@bonfire.cafe @smallcircles@social.coop @liaizon@social.wake.st @mayel@bonfire.cafe
Can I just say, while we're all talking about a bug, and nothing is perfect, THIS is why I LOVE open source.
Everyone collaborating, folks in each of their expert fields lending their experience. Love it. 
Thank you ALL for working through this.

-
@thisismissem hmm if I set sensitive to false wouldn't that communicate the same intent, just explicitly?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login