Status update, January 2024
Hi! This month has been pretty hectic due to the SourceHut network outage. We’ve all in the staff team invested a lot of time and energy to minimize the downtime as much as possible. Thankfully things have settled down now, there are still a lot of follow-up tasks to complete but with less urgency. I’m really grateful for the community’s reaction, everybody had been very understanding and supportive. Thank you!
In other SourceHut news, I’ve been working on yojo, a bridge which provides CI for Codeberg projects via builds.sr.ht. I’ve added support for pull requests, taught yojo to handle multiple manifests, added logic to automatically refresh access tokens before they expire, and fixed a bunch of bugs.
The NPotM is sr.ht-container-compose, a docker-compose configuration for SourceHut. It provides an easy way to spin up a SourceHut development environment without having to set up each service and its dependencies individually. I hope this project can reduce friction for new SourceHut contributors. There are many services missing, patches welcome!
This month, we’ve finally merged the Sway pull request to use the wlroots scene-graph API! This is exciting because it fixes a whole class of bugs, it removes a lot of manual hand-rolled logic in Sway (e.g. rendering, damage tracking, input event routing, direct scan-out, some of the protocol support…), it provides nice performance optimizations via culling (e.g. the background image is no longer painted if a web browser is covering it), and it unlocks upcoming performance optimizations (e.g. KMS plane offloading). Many thanks to Alexander for writing the patches and maintaining them for over a year, and to Kirill for pushing it over the finish line!
On the wlroots side, my work on wlr_surface_synced
has been
merged, allowing us to latch surface commits until an arbitrary condition is
met. This work is necessary for the upcoming explicit synchronization protocol,
as well as the work-in-progress transactions protocol and avoiding compositor
freezes when a client is very slow to render. We’ve released wlroots 0.17.1,
with a collection of bugfixes backported by Simon Zeni. Last, we’ve dropped
support for the legacy wl_drm
protocol by default, and this caused a bit of
breakage here and there (xserver, libva, amdvlk). We do really want to
phase out wl_drm
though, so we’ve decided to stick with that removal.
This month’s collection of miscellaneous project updates includes
go-imap v2 alpha 8 with separate types for sequence numbers and UIDs, which
was a lot of work to get right but I think was worth it. I’ve also released
go-maildir v0.4.0 with a new Walk
function (to iterate over messages without
allocating a list) and numerous fixes. I’ve sent a GitLab cli patch
to fix invalid release asset links for third-party GitLab instances, and a
Meson patch to add C23 support.
See you next month!