GNUnet Messenger API: February 2026

Hello again,

this month has been a bit different. Originally I thought to be done with my previous changes, ready for release but there were still some issues open in other services marked for the next release of GNUnet. So I waited at first for others to solve them until I asked myself whether I should take use of that time to integrate the newer PILS service functionality into the MESSENGER service.

Then I started testing the current state of connectivity using TRANSPORT and CORE with the new PILS service and I noticed a few problems. So naturally I reported it, adding another issue to the list of things being solved before the next release. Sigh. Eventually I became too impatient deciding to at least go for fixing the new issue, I reported. Because it was stopping me from properly testing the MESSENGER service.

That is how I ended up changing some parts around many different services to utilize the PILS service more consistently. The service supplies other services, clients or communicators with the current peer identity while it may change depending on addresses regarding possible connections. However some services wouldn’t use the same peer identity, partially caused by still using older code with a static peer identity key.

After my rudimentary changes were mostly complete I was able to test around more using two different peers, one being a VM. But I noticed the needs for some tool to properly verify the REGEX service was working. Because in the messenger application the public chat rooms are actually using this service to notify other peers being active members of a certain room. In theory you simply enter a public chat room, it automatically searches for other matching peers using that room and connects with them. So for ease of use I needed the REGEX service to work.

Therefore I implemented a new simple tool to announce a regular expression as well as search for peers having a regular expression that matches a given search term. So I could test the service a bit further and make it work reliable enough between my two peers.

Now everything was in line to test the MESSENGER service and make it work. Surprisingly in some cases it already kind of did. But some service in the whole stack was failing at some point because of assertions being violated or actual errors. So more debugging followed and more changes.

Finally I wanted to complete all this work by making the MESSENGER service utilize the PILS service properly which needed quite some adjustments. Because using the PILS service you can’t access the private key of the peer identity anymore but only request it being used for signatures. However that is an asynchronous callback which implied I had to change multiple functions internally from a synchronous to an asynchronous design. But that is done now and it seems to work as expected, I’d say.

There are still issues and I think I’m not happy yet with all of my changes in other services. So maybe I need to make some more adjustments next month. Also I haven’t requested it being merged yet and don’t get me wrong. I’m not saying next release will finally be the moment, the messenger application becomes ready for practical usage. But during my testing period this month, I have become more optimistic that this day might come earlier as expected.

Kind regards,
Jacki

Read original article

Popular posts from this blog

GNUnet Messenger API: July 2025

GNUnet Messenger API: September 2025

GNUnet Messenger API: October 2025