@julian regarding #FEP7888 the as:context property is non-functional, so an array of contexts is allowed. do you accept that or do you throw an http 500 ;-) and do you know if others can hanlde an context array ? #activitypub #activitypubdev

If you're trying to dereference all RDF namespaces found in the #ActivityStreams JSON-LD document you must first download the internet.

Now downloading google.com...

#ActivityPub #ActivityPubDev

Hi @marius!

I just managed to make a C2S post to my work-in-progress ActivityPub instance using your BOX client.

I had to make a couple of minor changes to it:
  • The authorize command respects $HTTPS_PROXY, but the post command doesn't. I had to change this to get it to talk to services on my test network.
  • It doesn't send an OAuth state parameter; the OAuth server library I'm using complains about this so I fixed it.

Are you interested in patches/PRs? What's the best way to submit them?

#ActivityPubDev
marius (@[email protected])

6.78K Posts, 785 Following, 934 Followers · Mostly a programmer. Implementing #ActivityPub in the #Go programming language. Current projects: * #GoActivityPub - a library to use ActivityPub in Go. * #FedBOX - a generic ActivityPub service supporting the client to server API. * #brutalinks - a link aggregator inspired by (old) reddit, hacker news and lobste.rs built on top of FedBOX. * #oni - a single user ActivityPub server with minimal fuss. My posts are mostly related to ActivityPub and web development.

Metalhead.club
Just over a year after Go's OpenAPI generator let me down, the #ActivityPub Content-Type causes the same problem again, this time in Python:
example_client/api/default/put_object.py:34:62: SyntaxError: Simple statements must be separated by newlines or semicolons
   |
33 |     _kwargs["json"] = _body
34 |     headers["Content-Type"] = "application/ld+json; profile="https://www.w3.org/ns/activitystreams""
   |                                                              ^
Is it really that unusual to include parameters in MIME types like this? I'm sure I've seen them all over the place.

Or am I venturing off the beaten track by trying to be explicit about them in my openapi.yml file?

#ActivityPubDev #BangHeadHere
Quotes in Content-Type cause "error generating code: error formatting Go code" · Issue #1799 · oapi-codegen/oapi-codegen

Sample api.yml: openapi: "3.0.0" info: version: 0.0.1 title: example paths: /object: get: responses: '200': content: "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"": schema...

GitHub
One consequence of trying to separate identity hosting from the other components of the system is that it makes the other components harder to bootstrap. If I run just one component of my instance in isolation, how can I authenticate to it in order to configure/manage/test it, if I don't have an identity that I can use?

The answer might be to use a did:self identifier. The flow would look something like

  • Management CLI tool generates a JWT describing a did:self identifier, and stores the private key locally
  • Admin uses scp or something to copy this JWT to the right place on the server
  • The server now has the ID's public key and so the CLI tool can prove that it "owns" the identifier

Which seems like a reasonable fix for the classic problem of "how do you create the first user", and also a useful fallback for when the system is too badly borked to be able to look up real identities.

Another interesting property of did:self is that seems to be possible to add extra metadata, such as a human-readable name, to the ID, by using standard JWT claims - without needing the data to appear in the DID document.

Of course these identities will only be visible to the server they're copied to, not to the whole network, but that shouldn't be a major problem.

(Cue the peanut gallery, with their suggestions of "it's easy, just do so-and-so", because everything looks easy when you take it out of context...)

#ActivityPubDev #FediDev

💡 Proposal for ActivityPub: FediStamp

What if any federated platform (Mastodon, WordPress, Pixelfed, PeerTube, WriteFreely...) could offer automatic certification of original content?

When publishing a poem, article, photo or video, you check "Certify original content" and the system gives you:

🔗 A public verifiable link to the registry

📄 A .fedistamp file as permanent proof

✅ A visible badge (Certified content) with clickable link

🧩 Metadata embedded in ActivityPub that travels with each share

Example: I publish a poem on Mastodon, enable the option, and instantly get my ✓ certified proof of authorship.

👉 This doesn't replace copyright (which already protects you), but strengthens it with technical evidence of authorship and date.

⚡ Key points:

Only registers the content hash (no cryptocurrency, just authorship certification).

Free.

Opt-in: you choose what to certify.

Automatic protection for creators across the federated ecosystem, without relying on centralized platforms.

I'm not a programmer, just a writer who sees the need. If someone technical sees merit and feasibility, go ahead.

#ActivityPub #Fediverse #FediStamp #FEP #ActivityPubDev #Mastodon #WordPress #Pixelfed #PeerTube #Creators #OpenSource #DigitalRights #OpenProposal

💡 Propuesta para ActivityPub: FediStamp

¿Y si cualquier plataforma federada (Mastodon, WordPress, Pixelfed, PeerTube, WriteFreely...) pudiera ofrecer certificación automática de contenido original?

Al publicar un poema, artículo, foto o video, marcas "Certificar contenido original" y el sistema te da:

🔗 Un enlace público verificable al registro

📄 Un archivo .fedistamp descargable como prueba permanente

✅ Un badge visible (Contenido certificado) con enlace clicable

🧩 Metadatos embebidos en ActivityPub que viajan con cada compartición

Ejemplo: publico un poema en Mastodon, activo la opción y automáticamente obtengo mi ✓ certificado con prueba verificable.

👉 Esto no sustituye al derecho de autor (que ya te protege desde la creación), pero lo refuerza al darte una prueba técnica de autoría y fecha.

⚡ Lo importante:

Solo registra el hash del contenido (no criptomonedas, solo certificación de autoría).

Gratis.

Opt-in: tú decides qué certificar.

Así habría protección automática para creadores en todo el ecosistema federado, sin depender de plataformas centralizadas.

No soy programador, solo un escritor que ve la necesidad. Si alguien técnico le ve sentido y viabilidad, adelante.

---

#ActivityPub #Fediverso #FediStamp #FEP #ActivityPubDev #Mastodon #WordPress #Creadores #CodigoAbierto #PropuestaAbierta

---

@rober

If you are having problems with other software in the Fediverse ecosystem, try…idk, talking to the devs? They're right there. Or even block the software from your instance entirely.

Don't be a fucking dick.


#ActivityPub #ActivityPubMeta #ActivityPubDev #fediverse

Writing documentation was good for #GoActivityPub.

It gives me the opportunity to go through some user scenarios for the tools I'm documenting and make sure that they work the way I'm describing.

I've fixed a couple of issues in this way these past days.

https://man.sr.ht/~mariusor/go-activitypub/go-ap/pitfalls.md#changing-the-type-of-an-object

#ActivityPub #ActivityPubDev

Is there any information anywhere on how the Flag activity is used in practice?

As ever, the spec only tells me that it exists; it doesn't say anything about what it contains, where it gets delivered to, how the recipient processes it, etc.

Maybe I could find out more by setting up some test instances and experimenting with it, or by trying to trawl through various repositories to find the relevant source code - but it seems a lot quicker to just ask.

#ActivityPub #ActivityPubDev #FediDev #FediDevs
Activity Vocabulary