home.social

#activitypubdev — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #activitypubdev, aggregated by home.social.

  1. I've started working on generating RFC9421 compatible HTTP-Signatures in #GoActivityPub about a week and a half ago, but it felt more like a month.

    Writing tests for the client module took the bulk of this time and it was a proper slog. We did manage to increase code coverage from under 20% to 80% plus.

    This makes it a bit harder to migrate to a new API when the future version 1 of the library will be tagged, but the changes I have planned shouldn't be insurmountable.

    Now I just need to implement the verification, and I'll be done with what is a very large milestone for the library. :goose_hacker:

    #ActivityPubDev #fedidev #httpsig

  2. I've started working on generating RFC9421 compatible HTTP-Signatures in #GoActivityPub about a week and a half ago, but it felt more like a month.

    Writing tests for the client module took the bulk of this time and it was a proper slog. We did manage to increase code coverage from under 20% to 80% plus.

    This makes it a bit harder to migrate to a new API when the future version 1 of the library will be tagged, but the changes I have planned shouldn't be insurmountable.

    Now I just need to implement the verification, and I'll be done with what is a very large milestone for the library. :goose_hacker:

    #ActivityPubDev #fedidev #httpsig

  3. I've started working on generating RFC9421 compatible HTTP-Signatures in #GoActivityPub about a week and a half ago, but it felt more like a month.

    Writing tests for the client module took the bulk of this time and it was a proper slog. We did manage to increase code coverage from under 20% to 80% plus.

    This makes it a bit harder to migrate to a new API when the future version 1 of the library will be tagged, but the changes I have planned shouldn't be insurmountable.

    Now I just need to implement the verification, and I'll be done with what is a very large milestone for the library. :goose_hacker:

    #ActivityPubDev #fedidev #httpsig

  4. I've started working on generating RFC9421 compatible HTTP-Signatures in #GoActivityPub about a week and a half ago, but it felt more like a month.

    Writing tests for the client module took the bulk of this time and it was a proper slog. We did manage to increase code coverage from under 20% to 80% plus.

    This makes it a bit harder to migrate to a new API when the future version 1 of the library will be tagged, but the changes I have planned shouldn't be insurmountable.

    Now I just need to implement the verification, and I'll be done with what is a very large milestone for the library. :goose_hacker:

    #ActivityPubDev #fedidev #httpsig

  5. I've started working on generating RFC9421 compatible HTTP-Signatures in #GoActivityPub about a week and a half ago, but it felt more like a month.

    Writing tests for the client module took the bulk of this time and it was a proper slog. We did manage to increase code coverage from under 20% to 80% plus.

    This makes it a bit harder to migrate to a new API when the future version 1 of the library will be tagged, but the changes I have planned shouldn't be insurmountable.

    Now I just need to implement the verification, and I'll be done with what is a very large milestone for the library. :goose_hacker:

    #ActivityPubDev #fedidev #httpsig

  6. Does anyone know of Mastodon servers that use outbound RFC9421 HTTP-Signatures ?

    According to the release notes, version 4.5 should have it enabled by default for outgoing requests using the double knocking mechanism, but so far I haven't seen any request containing them...

    #fediverse #activityPub #activityPubDev

  7. Does anyone know of Mastodon servers that use outbound RFC9421 HTTP-Signatures ?

    According to the release notes, version 4.5 should have it enabled by default for outgoing requests using the double knocking mechanism, but so far I haven't seen any request containing them...

    #fediverse #activityPub #activityPubDev

  8. Does anyone know of Mastodon servers that use outbound RFC9421 HTTP-Signatures ?

    According to the release notes, version 4.5 should have it enabled by default for outgoing requests using the double knocking mechanism, but so far I haven't seen any request containing them...

    #fediverse #activityPub #activityPubDev

  9. Does anyone know of Mastodon servers that use outbound RFC9421 HTTP-Signatures ?

    According to the release notes, version 4.5 should have it enabled by default for outgoing requests using the double knocking mechanism, but so far I haven't seen any request containing them...

    #fediverse #activityPub #activityPubDev

  10. Does anyone know of Mastodon servers that use outbound RFC9421 HTTP-Signatures ?

    According to the release notes, version 4.5 should have it enabled by default for outgoing requests using the double knocking mechanism, but so far I haven't seen any request containing them...

    #fediverse #activityPub #activityPubDev

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

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

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

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

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

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

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

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

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

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

  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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.

    man.sr.ht/~mariusor/go-activit

    #ActivityPub #ActivityPubDev

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

    man.sr.ht/~mariusor/go-activit

    #ActivityPub #ActivityPubDev

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

    man.sr.ht/~mariusor/go-activit

    #ActivityPub #ActivityPubDev

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

    man.sr.ht/~mariusor/go-activit

    #ActivityPub #ActivityPubDev

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

    man.sr.ht/~mariusor/go-activit

    #ActivityPub #ActivityPubDev

  33. 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
  34. 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
  35. 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
  36. For the past couple of days I've been hard at work writing documentation in the attempt to decrease the friction for developers that try #GoActivityPub for their applications.

    I am of a mind to pay some #Go developers in the near future to do a weekend's worth of programming into trying to use the library in projects, so we can iron out potential issues with the use of the library itself and the documentation.

    Anyone interested?

    #go #ActivityPub #ActivityPubDev #fediverse

  37. For the past couple of days I've been hard at work writing documentation in the attempt to decrease the friction for developers that try #GoActivityPub for their applications.

    I am of a mind to pay some #Go developers in the near future to do a weekend's worth of programming into trying to use the library in projects, so we can iron out potential issues with the use of the library itself and the documentation.

    Anyone interested?

    #go #ActivityPub #ActivityPubDev #fediverse

  38. For the past couple of days I've been hard at work writing documentation in the attempt to decrease the friction for developers that try #GoActivityPub for their applications.

    I am of a mind to pay some #Go developers in the near future to do a weekend's worth of programming into trying to use the library in projects, so we can iron out potential issues with the use of the library itself and the documentation.

    Anyone interested?

    #go #ActivityPub #ActivityPubDev #fediverse

  39. For the past couple of days I've been hard at work writing documentation in the attempt to decrease the friction for developers that try #GoActivityPub for their applications.

    I am of a mind to pay some #Go developers in the near future to do a weekend's worth of programming into trying to use the library in projects, so we can iron out potential issues with the use of the library itself and the documentation.

    Anyone interested?

    #go #ActivityPub #ActivityPubDev #fediverse

  40. For the past couple of days I've been hard at work writing documentation in the attempt to decrease the friction for developers that try #GoActivityPub for their applications.

    I am of a mind to pay some #Go developers in the near future to do a weekend's worth of programming into trying to use the library in projects, so we can iron out potential issues with the use of the library itself and the documentation.

    Anyone interested?

    #go #ActivityPub #ActivityPubDev #fediverse

  41. I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

    An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

    Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

    #ActivityPub #fedidev #ActivityPubDev

  42. I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

    An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

    Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

    #ActivityPub #fedidev #ActivityPubDev

  43. I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

    An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

    Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

    #ActivityPub #fedidev #ActivityPubDev

  44. I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

    An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

    Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

    #ActivityPub #fedidev #ActivityPubDev

  45. I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

    An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

    Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

    #ActivityPub #fedidev #ActivityPubDev