Slidgnal is back from the dead

Slidgnal is back

deuill being a rockstar programmer, he managed to revive slidgnal, the slidge-based Signal gateway. The library slidgnal was based on has not been maintained in a while, and slidgnal was effectively unusable. deuill rewrote it using Mautrix-Signal, a go library, using the scaffolding he set up for slidge-whatsapp, which also relies on a go library (whatsmeow).

Only basic 1:1 messaging is implemented so far. Other features should follow, but as always, contributions are welcome if anyone wants to speed up the process. ;-)

Slidge v0.3

Most slidge-based gateways have been ported to use the latest pre-release of slidge (0.3.0beta4), and are available from their repos or the containers tagged main . Unfortunately, some bugs and regressions have yet to be fixed for an actual release, but we are slowly getting there. Beware, if you do update from the latest release, you will need to start afresh (i,e, clean slidge's home dir), as migrations from 0.2 are not supported.

Slidge 0.3 voluntarily does not come with a ton of new features, since its raison-d'être is a sanitisation of the SQL parts of the code. Hopefully this should come with performance improvements, even though improving maintainability and readability of the codebase was the main objective of this refactor. In any case, this refactor should make it possible to optimise some critical parts, later, if necessary, something that was nearly impossible with previous state of the SQL-related parts of the slidge codebase (which was shit and should be slightly less shit then).

The new features are mostly improvements of the existing ones, moving some gateway-wide config options to user-level options when it made more sense, some slightly better attachment handling, and optional fallbacks for reactions on old XMPP clients.

What's next?

Last weekend, deuill, edhelas and I (nicoco) met for a small, private, casual hackhaton.

Three white dudes playing pretend-hackers. This photo will be on our biographies as the day it all started.

edhelas was particularly motivated to work on the spaces XEP, which I should submit a revision for in the coming days 🤞. If everything goes according to plan, slidge should act as a spaces service soonish, and movim should be the first client to offer UI for spaces.

I cannot end a blog post without emphasizing how much we would love to welcome other contributors to the codebase. I know that nothing is documented as much as it should, and I have no experience "managing" contributions or whatever, but just ping us in the MUC if you want to get started and try to fix or improve something in the code. A few issues are tagged "good first issue" in the trackers, and should be good ways of getting familiar with the codebase, if anyone's interested.

As always, a big ♥ to all testers, patch submitters, issue reporters, early adopters, late adopters, MUC out-hangers, whatevers.


You can read and comment this article using a pubsub capable XMPP client such as movim.


Published:

Category: misc