I’m beginning a blog series about my open source contributions. I hope this is interesting for people who want to start contributing to open source but don’t know where to begin. Or people who want understand (one way) how open source is being developed.
Additionally I hope it gives my Patreon and GitHub sponsors and idea of what I work on. This first report is written many weeks after the actual work was done, so it probably is incomplete nor written elegantly and I don’t remember all the details. My hope is to have nicer reports later on.
Please keep in mind that it only gives you a rough idea about the work being done. Most tasks require a plenty of learning new things, reading existing code, discussing ideas and problems with others and then implementing them.
Profanity probably takes most of my free time in recent months.
We got a new report about lagging when cursor movement happens. I could reproduce this but not find a solution to prevent this from happening yet.
A new first time contributor svensp appeared and reported that OMEMO 1:1 chats don’t work with Psi+. He was kind enough to also open a pull request to fix the issue himself! So I only needed to review and test these changes.
There appear to be more and more people interested in Profanity and its development. Probably they will enjoy learning more about its development so I plan to start a dedicated blog for Profanity.
An Arch user needed help compiling Profanity from source.
quite and I had a discussion about a proposed feature of him: roster toggle. In the end
/toggle wasn’t implemented but he worked on cleaning up some code!
I asked our Website creator Matthew whether he has time to help us with some Web related this. He worked on removing jquery and generally improve the site. Several tests and reviews were required. We missed some things so I later had to fix the command reference on the website.
I fixed a bug with the coloring of nicknames with XEP-0392 Consistent Color Generation is used.
Also found some small mistake in libstrophe.
I want to release 0.8.0 soon so I started to write the changelog.
And I fixed a bug about old messages being shown as new.
We had a problem with our concept of themes and preferences for a long time. After much thought I finally had a nice way to implement it. Read about the details in the dedicated bug.
We fixed the autocompletion for OMEMO fingerprints.
Several old and/or invalid issues were closed. Much time was spent in the MUC asking users questions and planning Profanity.
I also created X11:LXQt:Other since the programs that were related to LXQt but not actually part of the upstream project grew.
And one bug about Gajim not working correclty on openSUSE Leap 15.1: 1138751.
Sourcetrail is an interactive source explorer which got released as open source recently. As the first distribution I packaged it for openSUSE. Along the way there was a number of things that needed improvement. I created a tracker bug for the progress of the openSUSE package, since upstream did the same for their own Debian package. Then a bug becuse they don’t folow FHS. A patch to make Boost_USE_STATIC_LIBS a cache variable. #761, #767 and #768 to improve some code. Another patch to actually link with LIB_GUI_PROJECT. And a patch to try to install SourcetrailPythonIndexer only if it actually was supposed to be build.
The openSUSE package lives in devel:tools.
Like last time (#30, #34 the sway maintainers forgot to increase the version number upon release again #53, #128. Since openSUSE is always one of the first distributions to package sway and its ecosystem and actually reviews what happens (to have good quality packages) we always catch this ;-)
wlroots 0.9.0 came out. Before packaging it I tested various things and discovered that cage has a problem running with it. So I waited for 0.9.1. And backported some things so that cage 1.1.1 works with wlroots 0.9.0.
On my awesome list, that tracks Operating Systems stuff I: merged https://github.com/jubalh/awesome-os/pull/6 and added https://arjunsreedharan.org/post/99370248137/kernels-201-lets-write-a-kernel-with-keyboard.
Discussed things about the dino OBS repository.
A user of shadow requested that
useradd -s should not create a user if the path to the shell doesn’t exist. I created a patch to check for a valid shell argument. But later discovered that it has a drawback in certain setups. Later a PR was done to make the message only a warning.
Shadow 4.8.1 was released but they forgot to upload the tarballs. So only the GitHub generated tarballs, which need manual building of the manpages, are available.
Once this has been corrected I update shadow to 4.8.1 (SR#767297) for openSUSE.
Since 2017 I maintain Lutris in openSUSE. I don’t actually use it myself but when I encountered it I saw that is has a big fanbase. Probably many people use it and it was not in the official openSUSE repositories. Some people packaged it and had it in their home project however. So I polished it a bit and submitted it to openSUSE Factory.
When the SUSE security team reviewed the package later on they found some problems. They decided to remove the package because it is not secure enough for our demands. I learned about this only when the submit request waited for my review. It was no big problem at all because upstream acted quickly on the removal and updated the source code. So I could easily backport it and submit the package to Factory again.
Like I said, it was not a big problem. I’m not even sure whether the removal actually landed in a snapshot. If it did then probably Lutris wasn’t available to install for just a couple of days until all was fixed. Which is quite reasonable I think. Nevertheless a person got upset on twitter, in my opinion, totally overreacting or even misunderstanding the situation.
The situation could have been handled nicer. But it was definitely not handled in a bad way. Everybody worked together and the goal was quickly reached.