Yet another release¶
Most of the time this past month was spent on creating a storage backend based on the modernc sqlite3 driver[1] for both AP storage and OAuth storage. This will help in the long run when we’ll want to bring back up to speed the postgres one, and eventually add more backends that use the default Go sql interfaces. This was one request I saw from the people interested in the project.
Currently the database structure represents mostly a document store with custom querying based on the functions that the json sqlite extension allows for. This was backported from the original pgx backend, and it’s not fully working - it represents the majority of the work still needing to be done. The other part remaining is getting the auth package sqlite backend to work.
For go-littr I’m starting to explore some cucumber based testing to cover the basic scenarios of usage: user create, login, submission creation, replying, etc.
In the same idea, probably the integration tests for FedBOX should be moved to cucumber instead of piling on more and more functionality on the custom ones used at the moment, and which are proving to be a bit cumbersome to extend.
I started working on a TUI for helping with the admin work on a FedBOX instance. Nothing functional yet, as I’m finding my way around the Charm Go TUI framework[2], but it’s meant to replace/enhance the fedboxctl CLI functionality.
For the go-ap packages I made some changes to the client package, which now exports its main data type, instead of relying on being used through interfaces.
The ActivityPub package received an improvement to allow OnX functions work on items which are collections, by applying the received itemFn function to all elements of the collection. This still doesn’t represent a perfect solution, because we have no control if they actually are valid X types, and not something else.
The processing package received some improvements to validation and Update activity saving.
[1] https://gitlab.com/cznic/sqlite [2] https://github.com/charmbracelet/charm