Robustness improvements for GoActivityPub adjacent tools
Marius @Marius@marius.federated.id
In the past couple of days I’ve been hard at work to make both #ONI and the generic #ActivityPub command line client that I, a little unimaginatively, called “box” a little more robust in the way uploads, posts edits and deletes work.
Since this is the first time I’m mentioning the former, I guess I should say first a few words about it:
box is a CLI tool which aggregates some important pieces of the ActivityPub C2S workflows into one single tool.
It includes an API for authorizing with OAuth2 clients (currently both #FedBOX and ONI are supported) and persisting the obtained credentials to disk.
It contains everything needed to build a fast, indexed local storage on top of one, or more, remote ActivityPub collections.
It contains a small state machine to fetch periodically the collections belonging to the actors for which we have stored credentials.
It can use the #GoActivityPub filters API on top of the local storage to quickly retrieve objects.
And finally it contains a wrapper on top of the GoActivityPub client API to facilitate posting, deleting, and editing of text, image, audio and video content to the ActivityPub services that we have authorized for.
Basically this post was edited in vim as a markdown document, and posted using box itself.