@mariusor@metalhead.club avatar mariusor , to random

My project that converts wiki repositories into static websites is finally getting to the point where it works quite well.

I've integrated it into my flow for the documentation and it looks decent (in my biased opinion), the docs themselves are not great, but I'll do another pass over them before we release a v1 of the library.

https://go-activitypub.federated.id

@mariusor@metalhead.club avatar mariusor , to random

After much faffing about, I have implemented the dynamic client creation for services using the Client ID Metadata Document[1] that's been proposed as a replacement(?) for RFC7591 (Dynamic Client Registration Protocol).

The changes are in both the Authorization service and in the BOX client to server helper.

[1] https://datatracker.ietf.org/doc/draft-ietf-oauth-client-id-metadata-document/

@mariusor@metalhead.club avatar mariusor , to random

For people interested in (client to server), the services have gained the ability to dynamically register OAuth2 clients based on RFC7591.

The easiest to test is the ONI project that can be directly run without much setup: https://git.sr.ht/~mariusor/oni

@mariusor@metalhead.club avatar mariusor , to random

client to server is severely impaired by "authorized fetch" because usually before building an Activity to send to an Actor's outbox, one would want to validate some of the IRIs they operate on.

For example, I want to build a Follow request for a remote actor (represented by an IRI or webfinger resource). My client won't allow me to add this random IRI as the Object of the Follow and just send it, it wants to dereference it and make sure it's a valid Actor.

However when authorized fetch is enabled on that actor's instance, this dereference will fail, because the client can't generate a valid HTTP Signature for its request. :(

mariusor OP ,
@mariusor@metalhead.club avatar

@OpinionatedGeek @kopper

It looks like the proxy end point is indeed what I want.

I added a ticket for implementing that, because currently proxyUrl is not supported by . :D

https://todo.sr.ht/~mariusor/go-activitypub/409

@mariusor@metalhead.club avatar mariusor , to random

I forgot how tedious it is to chase code coverage when writing tests.

However this was part of the reason that made me include the "boring" parts of building a robust library into the goals set for the grant.

So after a couple of days of work I finally got the first of the storage backends for the library go past 80% test coverage.

I hope I can reuse some of the test logic in the other backends, as they need to perform identically.

@mariusor@metalhead.club avatar mariusor , to random

Need a palate cleanser after the past weeks where I worked furiously on storage backends for fixing tests and building a conformance suite.

I think I'll try my hand at a static site generator. It would also be part of sponsored work, but only tangentially so, as it would form the base for generating the documentation wiki for the library.

@mariusor@metalhead.club avatar mariusor , to random

After starting the work on the conformance suite for the storage backends I, of course, got the nasty surprise that none of the existing ones are actually passing all the tests. :D

@mariusor@metalhead.club avatar mariusor , to random

Well, after an initial failure, my grant application for has been accepted under the NGI0 Commons Fund. 💪

This means that for the next months my main focus will be fully on making in the programming language easier for other developers.

If you're one of them, reach out, I want to know what you struggle with and how I can help with that.

https://nlnet.nl/thema/NGI0CommonsFund.html#:~:text=GoActivityPub%20%E2%80%94%20Help%20people%20develop%20Fediverse%20software%20in%20Go

mariusor OP ,
@mariusor@metalhead.club avatar

On this topic, calling all interested in lending a hand.

I have two major goals for increasing the unit-test coverage in the individual packages that is comprised of.

These are tasks that are very accessible even for people new to the spec and I would prefer to support new developers that want to give it a try than wait until I have time to do them myself.

The only requirement I have is that if you want to help, you already have some public Go projects that I can have a look at.

Point of contact is on this email (after you "deobfuscate" it): goap@federated·id