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

The minutes from yesterday's Forum and Threaded Discussions Task Force monthly meeting can be found at this Google Docs link

Apologies in advance if I misrepresented anybody or missed any crucial bits of information.


Of note:

Mastodon and its treatment of non-note items

  • Darius Kazemi (@darius@friend.camp) reports that Hometown already supports improved conversion of non-note items (like as:Article) into statuses, and that this serves as a working proof-of-concept towards getting this merged upstream into Mastodon proper.
  • We discussed briefly the Mastodon PR approval process and how it sometimes drives away contributions
    • Darius emphasized the importance of showing real user support to facilitate the merging of pull requests.

Context Collections and FEP Convergence

  • Julian proposed consolidating various FEPs (7888, 400e, 171b) to publish a unified recommendation.
  • Evan (@evan@cosocial.ca) objected to the use of the "context" property in FEP 7888, advocating for a new vocabulary instead.
  • The discussion included differing views on the utility of the context property and its historical usage.
  • Darius utilized his data observatory (TBD) data set to hopefully prove that context is not a properly currently seeing any usage.

"Convenings" and Collaboration Initiatives:

  • Darius, representing the Applied Social Media Lab, proposed organizing physical meetings to enhance interoperability in the fediverse.
  • He will provide a blog post detailing the ActivityPub Data Observatory and related goals.

ActivityPub Trust & Safety Task Force

  • A new task force will focus on protocol-level issues within ActivityPub, including proper content warnings and labeling.
  • Meetings are tentatively scheduled for the second Tuesday of each month (starting November), with a call for input on scheduling.

"there is a recurring refrain about implementers deciding they don't care to implement AP as specified, and that this indicates a problem with the spec, not a problem with implementers."

@trwnh

https://trwnh.com/unstable/fedi-vs-web.html

It does. The point of a technical standard is to document the best practice of a group of implementers. It is, by nature, a living document that needs to be updated, as the experience of implementing reveals problems and finds better approaches.

Is there an #FEP which covers adding the attributedTo property to collections?

#ActivityPub

@trwnh @dmitri

Now that you mention #XMPP.. at the time that https://openengiadina.net dropped #ActivityPub support for XMPP I was tempted to follow along. So many things are better documented in that open standard and the subsequent XEP's.

Yet also both XMPP and #Matrix are first and foremost instant messaging / chat protocols, and to me using them to build other abstractions on top of felt forced, plus being among the first and only ones to do so.

Mastodon doesn't implement the #ActivityPub "API" (C2S). They don't conform to either the client or server profiles in the AP Recommendation. They implement a very small subset of AP/AS2 and they don't conform to the AS2 Recommendation for the parts they implement. Their software supports > 80% of the MAU in the Fediverse (all protocols, not the SWF definition). And Evan uses this as evidence of ActivityPub's success? I think Mastodon has thrived despite ActivityPub problems, not because of it.

Evan Prodromou has officially announced The Social Web Foundation, a nonprofit organization dedicated to the advancement of #ActivityPub, the #Fediverse, and The Social Web.

“Some folks have gotten themselves together as something they’re calling the Social Web Foundation, and I’ll cut to the chase: this is an attempt by #ActivityPub partisans to rebrand the confusing “fediverse” terminology, and in the process, regardless of intent, shit on everything else that’s been the social web going back twenty-five years.”

https://bix.blog/posts/holy-hell-the-social-web-did-not-begin-in-2008

While they’re harsh words, I hope @swf will receive this earnest feedback with grace and reconsider its positioning accordingly.

Why do you use the Activitypub federation rather than Twitter or Facebook?

Please give me your reasons, whatever they may be.

#activitypub
#fediverse
#help
#mastodon

it is my personal belief that this whole "closed-world social network" vs "open-world social Web" thing is leading to a big disconnect that makes addressing people's needs harder.

because, to be on the "network", you neglect being on the "Web".

sure, your software might still publish your "posts" as Web resources, but that's it. you're not actually granted control or ability to manage Web resources for yourself.

and that's why #ActivityPub C2S is being neglected, among many other things

29/?

are these things part of the "protocol"? how far does the "protocol" extend to cover? because, as we established, #ActivityPub is not enough to build a fully functional #fediverse -- and a lot of extensions and additional specs are things that ought to be included in this "protocol", insofar as this "protocol" is desirable.

the other thought:

if you ignore things, that means there are cases you're not handling, losing out on robustness. ignoring context is to ignore shared understanding.

23/?

this is the fundamental divide between #fediverse thinking and #Web thinking, where #ActivityPub straddles the line between both.

i've seen it said that the "open-world assumption" at the foundation of the Web is actually an undesirable thing for a "social networking protocol", and as a consequence, specs built on that open-world assumption are "completely unsuitable" for that "protocol".

but do we need a "social networking protocol"? do we even need "social networks" in the first place?

9/?

but before you build a "protocol" for a "network", consider: what even is a "network", in this context? and, here's the hot take: do you even *want* that kind of "network"? do you want a separate reified #fediverse network?

because the answer that #ActivityPub gives is actually a different one. There is no "AP network", because AP as a protocol is not enough to build a concrete network. it is intended to provide, and exists in context of, the larger #Web.

8/?

but beyond that, what does #ActivityPub actually do for #fediverse as a "network" "protocol"? basically nothing. you have a basic mechanism for delivering activities directly to subscribers, but no specified shape or structure for that payload. and you still need a lot of other specs to end up with something that talks to the "network". even with AS2 vocab, you need more vocab extensions to express things you want to.

simply put, AP is not enough for a "protocol" to build a "network".

7/?

when #ActivityPub was being standardized alongside AS2 it basically had two compelling reasons for what would become the #fediverse to adopt it:

- it was built on AS2, which was an evolution of AS1, which was already being used. so it wasn't hard to make the jump.

- it made followers-only posts possible, because while atom feeds *could* do this, it was wildly inconvenient to actually do it that way. posting something private to an inbox is a lot simpler, no juggling access control tokens.

6/?