The Would the bugs please stop? release¶
The biggest chunk of work the past month was dedicated to two major issues: filtering improvement for Tombstone objects, and fixing the logging in process hiccups that kept happening.
Filtering improvements¶
As I said, the starting point was better filtering for the Tombstone objects which needed to be done to improve the moderation listing. The main point of it was to allow the type=VocabularyType filter to be applied on a Tombstone’s FormerType property. This wasn’t as simple as it sounds and it required changes on all layers of our stack, littr frontend, fedbox backend and activitypub package.
In the same category I fixed the filtering by domain in go-littr.
Adjacently to filters, I also fixed a cursor loading bug, which previously prevented us from having working “next” links past the first page of go-littr.
Logging in fixes¶
It turned out that most of our issues with logging were steming from gorilla/sessions file system storage not invalidating a session if the underlying file is not accessible. I submitted a PR with a fix, but I also created a workaround in our code, just to make sure. Currently if the session file gets cleaned, a user can successfully log in first try, without having to remove the session cookie. This led me to improve the cleanup of session files of users that logged out also.
CI pipeline fixes¶
Apparently the version of buildah in the arch repos changed something to its default settings so builds started failing. I had to switch to docker in the pipeline. This affected both fedbox and go-littr.
UI changes¶
In go-littr we limit the max-width of the replies container.
We now avoid outputting “Untitled Item” as a title in some listings where we only displayed items without titles.
Other minor changes¶
An improvement to fedbox paths routing.
Improvements to caching, and removal of caching from the dev environment.
Adding placeholder sqlite storage to fedbox, and removal of oauth functionality from the pgx one (it exists in the go-ap/auth package)
Adding convenience OnX functions to call functions on Place, Profile, Relationship, Tombstone objects in the activitypub package.
Setting the properties corresponding to object collections on activity type objects in the processing package.
Avoiding some concurrent writes to the cursor items slice in go-littr.