1
0
Fork
You've already forked activity
0
ActivityStreams & ActivityPub library, forked from go-fed and maintained by GoToSocial devs
Go 100%
tobi b457dda63f [feature] add likeAuthorization, replyAuthorization, and announceAuthorization props ( #37 )
Reviewed-on: superseriousbusiness/activity#37
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
2025年08月28日 16:58:28 +02:00
astool [feature] add likeAuthorization, replyAuthorization, and announceAuthorization props ( #37 ) 2025年08月28日 16:58:28 +02:00
pub [feature] Add EmojiReact ( #35 ) 2025年07月02日 13:28:25 +02:00
streams [feature] add likeAuthorization, replyAuthorization, and announceAuthorization props ( #37 ) 2025年08月28日 16:58:28 +02:00
.gitignore [feature] Add "movedTo" and "alsoKnownAs" properties ( #19 ) 2024年01月04日 13:56:18 +00:00
gen.go [feature] Add EmojiReact ( #35 ) 2025年07月02日 13:28:25 +02:00
go.mod [chore] Update to code.superseriousbusiness.org ( #32 ) 2025年04月25日 10:34:43 +00:00
go.sum [chore] Update to code.superseriousbusiness.org ( #32 ) 2025年04月25日 10:34:43 +00:00
LICENSE Initial commit 2018年01月23日 22:53:17 +01:00
README.md [feature] Add EmojiReact ( #35 ) 2025年07月02日 13:28:25 +02:00

activity

THIS IS FORKED FROM https://github.com/go-fed/activity, which is no longer maintained!

Enormous thank you to cjslep for all of his hard work on the original.

tl;dr, how do I generate stuff?

To generate the GtS (and other) schemas:

  1. Make sure this repository is cloned into ~/go/src/code.superseriousbusiness.org/activity
  2. Run:
GOPATH=~/go go run ./astool \
 -spec ./astool/activitystreams.jsonld \
 -spec ./astool/schema.jsonld \
 -spec ./astool/security-v1.jsonld \
 -spec ./astool/toot.jsonld \
 -spec ./astool/gotosocial.jsonld \
 -spec ./astool/funkwhale.jsonld \
 -spec ./astool/litepub.jsonld \
 ./streams && go fmt ./...

You may need to do the command a few times because of silliness.

What's the status of this library?

Basically, it's forked from go-fed/activity and then a bunch of stuff has been added to it, including the GoToSocial namespace, additional toot namespace things, and a bunch of fixes and (we think) optimizations.

It's mainly (only?) used by GoToSocial, but other AP server implementers who want to use this library are also very welcome to have at it. There's lots of useful stuff in here.

What's the future of this library?

Unsure. We'll keep using it for now, but ideally we'd like to eventually switch it out for something lighter than uses generics or some other way of minimizing the colossal amount of code that gets generated. Either that, or we rewrite this library significantly, but that's a whole entire project.

If you want funding to work on this library independently, and bring it back to its full glory, we suggest you contact NLnet, who have expressed a lot of interest in having it more diligently maintained than we have time for.

How do I use this library?

Unfortunately the extensive go-fed documentation is no longer maintained, so there's no handy how-to guides available.

Your best bet for figuring stuff out is to see the GoToSocial codebase, which uses this library extensively.