~mariusor/activitypub-go

New release (November 2021)

Details
Message ID
<20211114123938.qk4cafrazqsawzpg@gabriel.localdomain>
DKIM signature
pass
Download raw message
# How much longer until S2S?

I've again been lazy again with the change log updates, and the number of
changes for the last three months is bigger than I expected. Even so, I'm
running out of things to do before I start implementing the server to server
activitypub interactions. As previously stated #moderation is a big priority
and a lot of the updates are related to that in one form or another.

## BrutaLinks

### Visuals

The BrutaLinks project has seen most of the work during this time. The most
visible change is that we're no longer storing the svg document we use for
icons in every html page, but we load it from a cacheable external source. This
lowers the response size quite significantly. The trashcan logo has been
updated to an icon (from the Phosphor font) which is a little more expressive.
The items that are older than one year have been made read-only.

### Speed

Other improvements that might have noticeable results are related to caching
and more streamlined collection loads for (almost) all of the pages. As always,
cache invalidation is an issue so I don't consider the current solution final.

All of the collection loads now go through the same pipeline, which simplifies
things with respect to caching and filtering. It supports loading from multiple
collections, belonging to different actors, and with different filters. This
however might present a problem with next/previous cursors which need to be
updated to account for loading from multiple collections.

### Moderation

I have done some work in allowing BrutaLinks to maintain a list of moderators
with enhanced permissions to basic users, without relying on non spec compliant
vocabulary. At the begining the actions they will be allowed to take will
probably just be editing or removing of a post they're not the author of (from
the moderation listing page). Probably I will also add accepting follow
requests for the instance, and add actors to the ignored or block lists for the
instance.

This means that the user profile page has been updated to show their tags
(which currently form the basis for the moderation permissions).

There is still a lot to be done here, but I feel like I'm heading into a good
direction and I'm confident that it will soon (maybe early next year) be
visible on the test instance. This will have the side effect of isolating an
instance's posts to just itself and the explicitly set group of followers,
recipients, but we'll takle that when we get there.

## FedBOX

Adding some new commands to copy/move objects to different collections. This is
a side effect of having to copy all of the items in the main service's Inbox to
the BrutaLinks' application one.

Improved the Delete method for all storage types to actually remove the
underlying objects. This was required by the logic of the Undo operation, which
requires the undid activity's side-effects to be completely removed. (As a
side-note, maybe I should look into soft deleting instead, even though it would
add some extra metadata)

I improved recipients filtering for objects.

## Go-ActivityPub

Most of the changes in the go-ap packages have been done to support the new
Undo logic and also to improve the validation step for both server to server
and client to server activities.

Another important step is that I started work on a generics branch for the main
ActivityPub vocabulary package, even though so far I haven't seen a lot of
possibilities where it would be useful.

/Marius
Berlin, 14th November 2021
Reply to thread Export thread (mbox)