Posts

Showing posts with the label flatpak

GNUnet Messenger API: August 2024

Image
Hi again, as mentioned last time when talking about the user interface for discourses, I was looking into the implementation of video streaming this time. For this task I wasn’t really able to workaround using RTP or something comparable. So I tried looking into it again with success. The problem I had with it previously was actually related to me overlooking the structure GstRTPBuffer in the documentation of GStreamer . With that I was able to calculate the actual durations of each buffer. I could simplify the code handling video and audio streams into one with only some variables like datarate which differ. But overall it worked for RTP via both rtpL16pay and rtph264pay nodes. So I could transfer H.264 encoded video via GStreamer now without major issues. However one thing I needed to solve was getting encoding done on many different platforms and form factors. Because not every SoC or device offers hardware encoding and decoding which is preferable though reducing power cost ...

GNUnet Messenger API: June 2024

Hey, this month I’ve started working on the implementation of a voice chat feature. So far my local tests are looking good, transferring raw audio data from one client to another, essentially streaming it. Latency of all the cryptographic overhead does not seem to be an issue. It’s still possible there are optimizations needed but for a first implementation it’s looking good. I’m still waiting for further practical multi-device tests on either NAT traversal or improved peer perception in local networks using GNUnet . Also there’s still ongoing work on the testing system to create local multi-device test cases using network namespaces . Until one of those options is solid, it’s difficult to verify whether latency or bandwidth need further improvements. So I’ve continued implementing the required API in libgnunetchat and I’am already working on the graphical interface for it in the GTK client. Because those parts don’t need to wait for the back-end anyway and it makes practical tests...

GNUnet Messenger API: March 2024

Image
Hello again, this month we finally got the release of GNUnet 0.21.0 and in addition we released a new release of libgnunetchat and both messenger front-ends . I tried to make sure the flatpak and snap packages work. However there were some difficulties. For example the flatpak runtime, the application uses, did not contain libportal for some reason. I needed to include that. The release of libgnunetchat caused a build issue because it required a dependency from the new meson build of GNUnet . The usage of Pipewire caused an immediate crash because of missing permissions. At the same time I worked on the flatpak manifest to make it update its dependencies automatically in the future via the external data checker that Flathub provides. public relation picture of the messenger application In the end the flatpak seems to work now. Only camera access is still not fully cooked yet. On my Librem 5 it gives a format error and fails to show an image. If no camera is connected at ...

GNUnet Messenger API: May

Hello, In April I could announce the release of the underlying chat library and this time I can happily announce that the GTK client got released . The first official release of the messenger-gtk application is 0.7.0 which might look a bit weird but the version numbering was inherited from the previous prototype cadet-gtk . So the actual release date (tagging the code in the repository) was pretty close after my last report in April but I still waited for the official announcement on gnunet.org because I wanted a proper packaging for users to test it out. That’s why we not only have tarballs available for libgnunetchat and messenger-gtk on the FTP server to install everything from source but you can also test out a flatpak hosted on flathub.org . From my testing so far there are still some issues regarding connectivity which need to be addressed in GNUnet itself but also crashes which are likely caused by the GUI code. So don’t expect a fully polished experience yet. But I was defi...

GNUnet Messenger API: March

Image
Hi again, Last time I had big hopes to make enough progress for a first release. But I think I’m gonna delay that a bit (maybe still this month but we will see) even though I could actually complete the things, I anticipated. However here is finally the long promised video of it running on the Pinephone Pro because there’s still much to show. The back-end of the messenger-gtk application called libgnunetchat now uses the GNUnet Name Store service to manage your chats instead of using a local directory and some configuration files for each chat as before. This means that it is now possible to start the application from any directory and it will properly sync the chats depending on the account/identity selected. Next big feature is that it is possible to generate so called lobbies. Lobbies are empty chat rooms which will be shared in form of a GNS record under a newly generated zone instead of your own identity zone. This has multiple reasons: Technically your own key could ...

Manuskript 0.12.0 as snap

Because some random events and a missing maintainer I became the actual maintainer of Manuskript, an open-source tool for writers (with over 1k stars on Github 😅). I didn’t really have any experience in maintaining packages until then with the exceptions of smaller packages in the AUR . However it went reasonable I would say and I published my first release of Manuskript ( 0.12.0 ). Sure, the release had some minor issues: It crashed/didn’t start on Windows. 😓 It performed worse though of the spell- and grammar-checking with LanguageTool, I added. 😐 I had to publish a fixed version for Windows (it still crashed on Windows 7 and 8, Windows XP wasn’t even supported anymore 😕) I didn’t had any access to snapcraft.io, so the snap package could not be updated (it also contained some errors which made the build impossible as well). 😟 But slowly we got there. I’ve implemented a very useful script to automatically build the Windows version via Wine on my Arch Linux btw and debugg...