@Gargron @mosseri

eugen it's good news, but only in the scope of championing #activitypub

i don't think when you made #mastodon 8 yrs ago you thought "yes! i get to work with #facebook someday!"

i'm happy you're happy but i step back and see #threads #interop as sad

what you and your team built is amazing and i appreciate all you've done

because it is #decentralized

it's not #centralized #socialmedia hell that is eating our psychology, our societies, our politics

it should stay that way

:rotating_light: We have emoji! :arrow_left:

I like emoji, I like them quite a bit. I grew up using emoticons (gosh, remember those?), and definitely love to sprinkle them in my forum responses.

If you've been following me since I've been contributing to the fediverse, you might've thought I eschewed emoji, but let's put that misconception to rest :laughing:

Thanks to the hard work by @PitaJ, NodeBB now federates emoji used in posts outward to remote instances. This works across all emoji packs (android, apple, cubicopp, etc.) available to the emoji plugin, and also includes custom added emoji :arrow_right: :voodoo:

This is a two-way integration, so custom emoji served by other instances are also picked up by NodeBB and displayed properly in posts.

You might notice that the emoji I use are all blobs. :smile: It's the default emoji set for all NodeBB instances, because blobs are amazing and it's a travesty Google decided to move away from them.

Long live the blobmoji :flushed:

A little-known feature was added in the 3.x develop branch of NodeBB, custom fields. It was an often-asked-for feature that had a couple of plugins built to accommodate, but @baris decided to make this part of NodeBB core.

I will let him do a more detailed write-up on the NodeBB side, but suffice to say, those custom fields will now federate out with your profile:

<img alt="" src="https://community.nodebb.org/post/101859">

<img alt="" src="https://community.nodebb.org/post/101859">

Likewise, custom fields as defined by remote users will be saved and displayed in NodeBB in metadata boxes just like those defined in NodeBB.

In NodeBB, administrators are able to globally specify a set of fields that individual users can change/set.

@Gargron What do you think about the idea of #mastadon servers supporting #atproto in addition to #activitypub?

By the way, thank you very much for your work and vision!

"So what are you?"

A believer

Is this valid in #ActivityPub / AS2 ?
{
"@context": "https://www.w3.org/ns/activitystreams",
...
"tag": [
{
"type": "Hashtag",
"name": "example",
"href": "https://example.com/tag/example"
}
}
Note that "Hashtag" is not a term in the normative AP/AS2 context. It seems to break linked data processing, but it also seems to pass the JSON-LD compaction requirements of AS2 (based on the JSON-LD Playground). If true, this means you can use extended types without extending the context. 🤷‍♂️

Let's say for some contrived (but very real) reason, I want to add { "toot": "http://joinmastodon.org/ns#", "Emoji": "toot:Emoji" } to @context, but another member of @context might be { "toot": "http://joinmastodon.org/ns#", "focalPoint": ... }

Would it be acceptable if I just pushed my object to the end and assumed that JSON-LD parsers would correctly reduce it down to:

{
  "toot": "http://joinmastodon.org/ns#",
  "Emoji": "toot:Emoji",
  "focalPoint": ...
}

... or should I be adding in logic to detect the existing member defining toot and merge the Emoji property in?

In this document https://www.w3.org/wiki/ActivityPub/Primer/Authentication_Authorization#Server_to_Server there is a dead link to https://web-payments.org/vocabs/security#publicKey.

the owner attribute idea maybe comes from here:

https://docs.joinmastodon.org/spec/activitypub/#publicKey

the sample is strange, i cannot find one of this properties:

https://www.w3.org/ns/activitystreams#publicKey
https://w3id.org/security/v1#publicKey
https://w3id.org/security#publicKey

https://www.w3.org/ns/activitystreams#owner
https://w3id.org/security/v1#owner
https://w3id.org/security#owner

currently i'm confused a bit. a few month ago i talked to the community about publicKey in the actors profile.
I think @steve was answering, that the property publicKeyPem has the namespace https://w3id.org/security#.

i'm using https://w3id.org/security#owner, but forgott, ehere i've found that info. it looks like that https://w3id.org/security#owner is not existing.

Is there a valid document that describes that publicKey stuff ?

Agenda preparation for the November ForumWG meeting can be found at this public link (anyone can make comments for review.)

Monthly meetings are held on the first Thursday of each month, at 1700 to 1800 UTC. You can find them listed in the SocialCG Calendar. The next meeting will be held on 7 November 2024.

We will be continuing onwards with:

  • discussions regarding context resolution. Multiple FEPs touch on the subject and there is an opportunity for potential convergence towards a single (or pair) of FEPs that share enough commonalities to allow for interoperability.
  • updates by WG members re: non-as:Note support in Mastodon and the Social CG report draft
  • whether a resolvable context collection containing plain objects should also contain activities (like an outbox)

As always — time permitting — if you'd like to speak or inquire about a certain topic, comment in the agenda or reply here, the floor is open!

What are the *technical* steps behind moving a Mastodon account?

I understand how to do it from a user perspective (https://docs.joinmastodon.org/user/moving/#move) but what does the new server need to do?

Is it as simple as adding an "aliases" to the webfinger?

Regarding #Bluesky opening signups, one person on HN comments:

> The account portability is probably the biggest problem with the #fediverse right now.

And while that may be true from an end-user perspective, imho it is not the biggest problem. The fact that for a new dev building an #ActivityPub app is like a Viking trying to discover America is problematic. While #ATProto has the Holland-America line where you can check in for the ride.

Negotiating protocols between #ActivityPub actors or clients

@julian said in Does context in AP have to be a collection, or can be be like a Flag activity? Say I wanted to Create(Note) about a Flag I'd received, I'd need:

If you queried the context, you'd get an OrderedCollection containing objects that you have access to view, but since in NodeBB only moderators can view flag reports, anybody querying it over ActivityPub would just get an empty collection.

The quote was in reference to whether disparate as:Flag activities could be grouped together under a common context (per 7888).

To be technically correct, it would contain the Flag activities... which reminds me of a discussion @trwnh@mastodon.social and @silverpill@mitra.social had about what a context collection could contain... objects vs. activities.

In this particular case, I suppose the context collection would contain activities, not objects, which would mean we'd need to relax any recommendation that they contain either objects or activities, since it could contain any mixture of both.

consider two hypothetical #ActivityPub properties:

- `client`, which signals applications attached to the current actor as activitypub Clients
- `server`, which points to the current service handling the current actor's inbox as an activitypub Server

your task is to bikeshed these two properties until they make sense. go

I submitted a Pull Request to update MacPorts' snac to 2.61 here:

https://github.com/macports/macports-ports/pull/26287

GitHub Actions Continuous Integration checks are progressing (3 out of 4 passed, which is a good sign; I guess MacPorts recently started checking 4 OS versions on GitHub automatically instead of 3 so this is taking a bit longer than I am accustomed to, it seems as if the macos-15 checks in particular are sluggish, maybe that system is overloaded?).

Regardless, it's up to someone else with commit access to merge it.

Neat to see more Mastodon migration improvements! I think I saw one person already boast of successes of migrating their followers to a snac instance!

Thank you for your hard work and continuing to make my favorite ActivityPub implementation even better!

#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces

I'm glad to announce the release of version 2.61 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Migration from a Mastodon account to a snac one has been implemented. Please see snac(8) (the administrator manual) for more information.

Mastodon API: fixed timelines/public (it was showing less posts that it should).

Fixed over-zealous caching to the public timeline.

Some HTML tweaks and fixes to the web interface.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

This release has been inspired by the painting The Hands Resist Him by #BillStoneham.

I'm glad to announce the release of version 2.60 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Migration from a snac account to a Mastodon one has been implemented. Please see snac(8) (the administrator manual) for more information.

Fixed a bug in argument parsing regarding some special characters (contributed by ndagestad).

Fixed image emojis in the public profile bio.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

This release has been inspired by the song State of Independence versioned by #DonnaSummer.

I just learned about Honk, a barebones #ActivityPub microblogging implementation. It's super lightweight, doesn't support likes, and reminds me of the old internet in a very charming and silly way.

The creator @tedu has a "flagship instance" at honkasaurus.world. It looks like it will let you sign up, but I couldn't figure out how.

Anyway, just thought that was a fun little thing to share

Related to the ForumWG topic of resolvable context collections, there are four FEPs that are currently in consideration:

  1. FEP-7888: Demystifying the context property
  2. FEP-400e: Publicly-appendable ActivityPub collections
  3. Draft FEP-171b: Conversation Containers, an evolution of Conversation Containers
  4. FEP-76ea: Conversation Threads

@silverpill@mitra.social made a suggestion last month to hopefully reduce the number of moving parts:

  • Both FEP-400e and FEP-1b12 implementations: support FEP-7888 (context collection)
  • FEP-400e implementations: upgrade to Conversation Containers
  • FEP-1b12 implementations: add target property to Announce activity that points to context collection.

This takes FEP 400e out of the running (potentially). But the day after that last meeting, @evan@cosocial.ca put together FEP 76ea, and now we're back to three.

My concern is that all three FEPs (7888, 171b, and 76ea) all share these distinct qualities:

  • They establish a conversational context for a given object
  • They federate out an Add on collection addition. (76ea also sends Remove)
  • They contain some concept of a context owner (attributedTo)

They differ on the following qualities:

  • 7888/171b use context whereas 76ea uses a new property thr:thread
  • 171b specifies a new object type Context
  • Collection items:
    • 7888 sends objects in chronological order
    • 171b sends activities in chronological order
    • 76ea sends objects in reverse chronological order

In the lead up to the November WG meeting I'd like to address those differences. All three FEPs are in pre-draft or draft stages, and so I am hoping we can find some common ground and compromise.


Pinging interested parties (who were not already mentioned above) for comment:

@trwnh@socialhub.activitypub.rocks @erincandescent@akko.erincandescent.net @mikedev@fediversity.site @jenniferplusplus@hachyderm.io

No #ActivityPub issue triage today for the #SocialCG. I'm traveling for my 20th wedding anniversary. Please enjoy a week off, and I'll catch you next week at the same time.

"The Challenge of ActivityPub Data Portability"

a new blog post on web 3.0, data portability, integrity, authenticity, and why it's hard on the fediverse.

https://bengo.is/blogging/2024-10-03-the-challenge-of-activitypub-data-portability/

I love #mastodon but had to call it out a bit here to explain how it could be better for the #ActivityPub ecosystem.

boosts and polite feedback appreciated ⁂

Just something I noticed while testing non-public posts... when I try to message @jdp23@blahaj.zone, sharkey tries to grab the inReplyTo, but it attempts to do so with the instance actor, which obviously doesn't have access to the chat.

Feels like a Sharkey bug, but I also noticed this behaviour when I tried to use @crepels@mastodon.social's activitypub.academy... using the search bar (and the explorer) caused the request to be made with the instance actor.

So now I'm not even sure what to think.

Note that I said "quoted posts", not "quote posts", don't @ me!

After the last WG meeting @thisismissem@hachyderm.io @trwnh@mastodon.social and I chatted a bit about how NodeBB handles quoted posts, but also in relation to quote posts. I thought that it was an interesting chat that merited further discussion; also because some of it was over my head.

When asked how NodeBB handles blockquotes specifically, I replied that blockquotes themselves are rather simple. We set a copy of the text wrapped in <blockquote>.

The rationale is simple: forums typically represent content in a linear fashion, and quoted posts are a handy way to reinforce subcontext within a topic. A typical topic/thread could have many separate discussions all happening together (aka thread drift), so quotes help others know what you're responding to. We don't have special handling or references to our blockquotes because there is a history in forums of edited blockquotes.

Perhaps you want to have a block quote and add some emphasis?

It's also better netiquette (god, that term is old) to trim down the quote to only the relevant parts.

Another upside is that a copy-paste of a post preserves that post to history. That can be useful if the quoted user tries to edit their post later, etc.

vis-a-vis the concept of "quote posts", which I take to mean an embedded post within a post, allowing for replies, likes, etc. How that is represented via ActivityPub is probably detailed in some FEP, but NodeBB doesn't implement that yet. It's a more complicated mechanism that requires a lot more thinking through, and to be honest, we haven't had the need for that in the 10+ years we've been building NodeBB.