Monday, 27 January 2025
Qrca WiFi mode, Trust and Safety in Tokodon, and more
Welcome to a new issue of "This Week in KDE Apps"! Every week we cover as much as possible of what's happening in the world of KDE apps.
Due to FOSDEM happening next weekend, there won't be any "This Week in KDE Apps" post next week. If you are in Brussels during the event, the KDE team will be in building AW, next to our friends from GNOME. Come say hi, we will have some stickers and demo devices!
General Changes
The About page used in many Kirigami apps now uses a new FormLinkDelegate for entries that will open a link. (Carl Schwan, Kirigami Addons 1.8.0. Link)

Amarok Rediscover your music
Support for Digital Audio Access Protocol (DAAP) was fixed. (Tuomas Nurmi, 3.2.2. Link)
Akonadi Background service for KDE PIM apps
Loading IMAP tags was optimized. (Carl Schwan, 24.12.2. Link)
Some SQL queries were fixed so that they don't exceed the limits imposed by the SQL engines (e.g. when reindexing a big email folders). (David Faure, 24.12.2. Link)
Elisa Play local music and listen to online radio
Files will play automatically when opened from a different app (e.g. Dolphin). (Pedro Nishiyama, 25.04.0. Link)
KDE Itinerary Digital travel assistant
We improved the ticket extractor for PKP (Grzegorz Mu, 24.12.2, Link)
We fixed public transport data access from Entur in Norway (24.12.2, also affects KTrip).
Kaidan Modern chat app for every device
The onboarding workflow of Kaidan was completely overhauled. (Melvin Keskin. Link)
The QR-code scanner and generator of Kaidan now uses Prison, KDE's standard QR-Code library (Jonah Brüchert and Melvin Keskin. Link)
Calculator A feature rich calculator
The history feature was fixed. (François Guerraz, 24.12.2. Link)
Okular View and annotate documents
We fixed Okular freezing when opening a PDF file with a lot of entries in a choice field. (Albert Astals Cid, 25.04.0. Link)
Qrca Scan and create QR-Codes
Qrca gained a mode to only scan for Wifi QR-codes. Currently this can be triggered with the --wifi flag, but in the future this will be triggered directly from Plasma Network Management to scan for Wifi codes. Additionally when scaning the QR-code for an existing connection, instead of creating a new connection, Qrca will update the credentials of the existing connection. (Kai Uwe Broulik. Link)
We removed the option to share a QR-code and replace it with a button to copy the QR-code. (Jonah Brüchert. Link)
Tokodon Browse the Fediverse
We added a menu item under the "Filters" timeline action to configure filters. (Joshua Goins, 25.04.0. Link)

We improved the look of filtered posts significantly. (Joshua Goins, 25.04.0. Link 1)

Tags and polls are hidden when the post has a content notice. (Joshua Goins, 25.04.0. Link 1 and link 2)
As part of more trust and safety improvements, we added a button to mute a conversation, so that you don't get any notifications for conversations you are not interested too. (Joshua Goins, 25.04.0. Link)
We fixed voting in polls that was not working reliably. (Joshua Goins, 25.04.0. Link) and improved Tokodon when using a screen reader. (Joshua Goins, 25.04.0. Link)
Third Party Apps
BlueJay
Evan Maddock released the 1.0.0 and 1.0.1 of BlueJay. BlueJay is a Bluetooth manager written in Qt with Kirigami.

…And Everything Else
This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.
For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.
Get Involved
The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable.
You can help KDE by becoming an active community member and getting involved. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer either. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things.
You can also help us by donating. Any monetary contribution, however small, will help us cover operational costs, salaries, travel expenses for contributors and in general just keep KDE bringing Free Software to the world.
To get your application mentioned here, please ping us in invent or in Matrix.
Sunday, 26 January 2025
Project Description
In SoK 2025, I will be working on adding Pallanguzhi, a traditional Indian Mancala variant, into the Mankala Engine. Collaborating with Srisharan V S, my focus includes two key goals:
- Developing a computerized opponent to enhance player engagement and ensure a seamless gameplay experience.
- Creating a Text-Based User Interface (TUI) for gameplay.
What I Did This Week
The first step in my journey was setting up the Mankala Engine repository. I forked the repository to my local system, successfully built it, and resolved some warnings during the build process. Afterward, I delved into the codebase, analyzing the existing algorithms and understanding how they work for other Mancala variants.
Research on Implementing a Computerized Opponent
To create a robust computerized opponent for Pallanguzhi, I began researching potential algorithms that could best fit the game mechanics. Here are the three techniques I explored.
1. Reinforcement Learning
Reinforcement Learning (RL) is an exciting approach where an agent learns optimal strategies by interacting with the environment and improving over time. For Pallanguzhi, RL could enable the computerized opponent to adapt and improve its gameplay dynamically. However, as I am new to RL, implementing and training models for this variant will take some time and effort. Despite its challenges, RL remains a promising option for advanced gameplay enhancement.
2. Monte Carlo Tree Search (MCTS)
MCTS is a powerful algorithm widely used for decision-making in games. It works by simulating potential moves to build a decision tree and then selecting the best move based on statistical evaluation. For Pallanguzhi, MCTS could efficiently explore the vast game state space and make informed decisions. By carefully tuning the number of simulations and exploration parameters, this algorithm can provide a balanced and competitive computerized opponent.
3. Alpha-Beta Pruning with Iterative Deepening
Alpha-Beta Pruning with Iterative Deepening is a highly effective technique for optimizing decision trees by eliminating unnecessary branches. This method is already implemented in the Mancala Engine for other variants and has proven its efficiency. Leveraging this existing implementation for Pallanguzhi will allow us to quickly develop a working version of the game with a competent computerized opponent.
Conclusion for Now
The immediate plan is to integrate the Pallanguzhi variant into the existing Alpha-Beta Pruning implementation. This ensures we have a functional version of the game ready for any further work. Once the TUI implementation is complete, I plan to revisit Reinforcement Learning for Pallanguzhi. Working with RL models and training them is a learning-intensive process, and I am excited to gain experience in this area. Even if RL proves too challenging, we will still have a polished Pallanguzhi variant running on the existing algorithm.
What’s Next
Next week, I will work on adding the longer version of Pallanguzhi, which consists of multiple rounds, while Srisharan V S focuses on completing the shorter version. Together, we aim to make significant progress toward integrating and refining this traditional game within the Mankala Engine.
Stay tuned for updates!
Saturday, 25 January 2025
Grab your favorite drink and join us for the first Kdenlive Café of the year! Come hangout with the developer team, share your ideas and feedback, get some scoops on what’s brewing for future releases and connect with fellow editors. Join the community!
📅 Tuesday, January 28th, at 8 PM (UTC)
What I am working on?
My project focuses on enhancing the GUI and adding Player vs. Player (PvP) multiplayer functionality to a Mancala game.
Mancala is a popular board game played worldwide. The proposed plan is to use Kirigami for improving the GUI and making the application cross-platform. Multiplayer functionality will be integrated using XMPP. The game will operate over a communication channel established by XMPP over UDP. The updated game board will be reflected graphically using data binding. The XMPP server being used is Prosody.
Work done so far
Setting up the prosody locally
Setting up Prosody is fairly straightforward. I installed it from Fedora’s official repository using the command:
sudo dnf install prosody
Alternatively, Prosody can be built and installed from its source code available on GitHub.
Configuring prosody
Prosody’s configuration is contained in a single file: prosody.cfg.lua. On Linux distributions, this file is typically located at /etc/prosody/prosody.cfg.lua..
For now the clients are connected over same LAN using the virtual host @mancala.local as the domain id.

The image above illustrates how to edit your virtual host configuration.
The next step is to configure a chat room, which is done similarly to the virtual host configuration.

Both configurations require an SSL certificate to secure the communication channel.
After completing these steps, we restart and check the status of Prosody using the following commands:
sudo systemctl restart prosody
sudo systemctl status prosody
If everything is configured correctly, the state will be “active.” You can verify this by checking the log file using: sudo tail -f /var/log/prosody/prosody.log we can check the log file. If configured successfully, the output will resemble this:

Adding users and communicating via a XMPP client
The plan is to allow users to either use their existing Jabber ID or create a new one through our server. For testing purposes, I manually added users to the server using the following command:
sudo prosodyctl adduser <username@domain_name>
After executing the command, you will be prompted to set a password for the user.
For communication, I used the Pidgin client.

As shown in the image above, I have added two users, user11 and user12.
To test communication, I sent a message from user11 to user12 by addressing it to user12@mancala.local. Below are the results:

Since I used the Pidgin client on the same device, both user tabs appear in the interface. The screenshots confirm that I successfully established a user-to-user communication channel over LAN.
What’s next
For the next week, I plan to:
- Implement in-band registration.
- Enable communication over the internet.
- Develop the logic for the game invitation system.
Thursday, 23 January 2025
Qt in 2024
2024 was another outstanding year for Qt, filled with exciting milestones and achievements! Highlights of the year include the Qt 6.7 and Qt 6.8 releases, Qt Creator 15 release, and the Qt Contributor Summit.
Ruqola 2.4.1 is a feature and bugfix release of the Rocket.chat messenger app.
Ruqola 2.4.1
- Fix typing support (new API)
- Exclude string starting with /* or // as Rocket chat command (avoid error)
- Don't copy text when preview is hidden
- Fix Market apps support
- Fix search user (Allow to use '@') when inviting users in Room
- Inform when we don't have database history for a specific Room
- Fix clicking in url in text in preview url
- Don't allow to create two tokens with same name
- Don't show clear button in lineedit when it's readonly
URL: https://download.kde.org/stable/ruqola/
Source: ruqola-2.4.1.tar.xz
SHA256: e5adb0806e12b4ce44b55434256139656546db9f5b8d78ccafae07db0ce70570
Signed by: E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Riddell jr@jriddell.org
https://jriddell.org/jriddell.pgp
Sunday, 19 January 2025

Some of you might have noticed. Updates to Manjaro ARM packages are far between these days. Actually it has been far between updates since I left the project in March 2023.
So this begs the question: Is Manjaro ARM dead?
Lets take a look at the current status.
No new images
The last round of release images for all the major platforms Manjaro ARM supports was done in February 2023, release version 23.02. And I have heard that most of them break the installation after the first update.
The only images I have seen that has had any kind of new release since I left, are the Pinephone based ones. But they are still considered Beta (after 4 years!).
ARM download are no longer prominent on the website
Manjaro.org got a new fancy website a little while ago. This website hides the ARM images, so you have to really look for them to find them. Here's how you find them on the new website:
manjaro.org -> Download button -> Go back a step in the submenu that says Products > Download > x86 by pressing the Download entry -> Press the Download button in the second section called For Phones And Embedded.
Now you can see and download the ARM images.
Very few package updates
The Raspberry Pi specific packages have been updates steadily by Ray Sherman, the maintainer. But all the other Manjaro specific packages are only updated rarely or not at all.
Even the package updates from Arch Linux ARM is not done very often anymore. So the package repository in general is in a very bad out-of-date state.
Is it maintained?
With all these points, I would conclude that it is not really maintained anymore. Ray asked the Manjaro project management about this and was told that the ARM branch no longer has a manager and therefore it was no longer a priority by the Manjaro team.
To me, that sounds like it has died a slow and quiet death.
I would not recommend Manjaro ARM to anyone anymore, because of the state it is in. It's a sad conclusion, as I started the project with Josh Crowder back in 2016 and we loved working on it.
One of my leisure time activities is to develop KMyMoney, a personal finance management application. Most of my time is spent on development, testing, bug reproduction and fixing, user support and sometimes I even write some documentation for this application. And of course, I use it myself on a more or less daily basis.
One of the nice KMyMoney features that helps me a lot is the online transaction download. It’s cool, if you simply fire up your computer in the morning, start KMyMoney, select the “Account/Update all” function, fill in the passwords to your bank and Paypal accounts when asked (though also that is mostly automated using a local GPG protected password store) and see the data coming in. After about a minute I have an overview what happened in the last 24 hours on my accounts. No paper statement needed, so one could say, heavily digitalized. At this point, many thanks go out to the author of AqBanking which does all the heavy work dealing with bank’s protocols under the hood. But a picture is worth a thousand words. See for yourself how this looks like:
The process is working for a long time and I have not touched any of the software parts lately. Today, I noticed a strange thing happening because one of my accounts showed me a difference between the account balance on file and the amount provided by the bank after a download. This may happen, if you enter transactions manually but since I only download them from the bank, there should not be any difference at all. Plus, today is Sunday while on the day before everything was just fine. First thought: which corner case did I hit that KMyMoney is behaving this way and where is the bug?
First thing I usually do in this case is to just close the application and start afresh. No way: same result. Then I remembered, that I added a feature the day before to the QIF importer which also included a small change in the general statement reader code. Of course, I tested things with the QIF importer but not with AqBanking. Maybe, some error creeped into the code and causes this problem. I double checked the code and since it dealt with tags – which are certainly not provided by my bank – it could not be the cause of it.
So I looked at the screen again:


New data must have been received because the date in the left column changed and also the amount of the colored row changed but not the one in the row above which still shows the previous state. The color is determined by comparing the balance information with the one in the row above. So where is/where are the missing transaction(s)?
Long story short: looking at the logs I noticed, that the online balance was transmitted but there was no transaction at all submitted by the bank. And if I simply take the difference between the two balances it comes down to a reimbursement payment which I expect to receive.
Conclusion: no bug in KMyMoney, but the bank simply provided inconsistent data. Arrrrgh.

Welcome to a new issue of "This Week in KDE Apps"! Every week we cover as much as possible of what's happening in the world of KDE apps.
This week we also published a new web page in our "KDE For You" series, this time about "KDE For Digital Sovereignty". These pages give you tons of recommendations about KDE and other FOSS apps you can use in different situations, be it for education, creativity, travel and more.

Arianna EBook reader
It's now possible to change the app's color scheme independently of the system's color scheme (Onuralp SEZER, 25.04.0. Link).

Dolphin Manage your files
When manually adding items to the Places panel, the current location's custom icon is pre-populated in the icon field, and the item will now be created globally by default, so it appears in other apps' Places panels as well (Nate Graham, Frameworks 6.11. Link and link 2).
Elisa Play local music and listen to online radio
We added an entry at the top of the grid/list to open a track view for the current artist or genre. Tracks from artists opened from genre view will be filtered by genre (Pedro Nishiyama, 25.04.0. Link).

We have solved the problem of creating infinitely nested views when browsing artist > album > artist (Pedro Nishiyama, 25.04.0. Link).
Haruna Media player
Haruna 1.3 is out with lots of code refactoring. Additionally, the default actions for left and right mouse buttons have changed: left click is now Play/Pause and right click opens the context menu. These actions can be changed in Settings on the mouse page.

KDE Itinerary Digital travel assistant
Volker restored public transport data access to Digitransit in Finland and to Rolph in Germany (Volker Krause, 24.12.2, also affects KTrip) and Joshua and Gregorz wrote and improved travel document extractors for American Airlines, Brightline and Southwest (Joshua Goins, 24.12.2, Link 1, link 2, and link 3) and Koleo (Grzegorz Mu, 24.12.2, Link).
KMail A feature-rich email application
Joshua fixed various issues with the markdown rendering in KMail, enabling markdown footnotes, highlighting and removing some dead code (Joshua Goins, 25.04.0. Link 1 and link 2); and, to facilitate the use of KMail's security features, KMail will now query a key server when clicking on an unknown OpenPGP certificate (Tobias Fella, 25.04.0 Link).
Kdenlive Video editor
The audio waveform of Kdenlive was completely rewritten. It is now around twice as fast to generate and is more accurate (Étienne André and funded by the Kdenlive Fundraiser, 25.04.0 Link).
Before:
After:
KDevelop Featureful, plugin-extensible IDE for C/C++ and other programming languages
We added and improved the debugger pretty printer for QJSon*, QCbor*, QDateTime, QTimeZone (David Faure, 25.04.0 Link 1 and link 2).
Krita Digital Painting, Creative Freedom
The latest Krita Monthly Update is out. If you want to learn what's going on in Krita as well as see some amazing artwork made with Krita, check it out.

Kurzschwardzenbuglen Nature Sanctuary by @Yaroslavus_Artem
Qrca Scan and create QR-Codes
Qrca now forces the rendering of QR code content to be plain text (Kai Uwe Broulik. Link) and only shows the flashlight button on devices with a flashlight (e.g. not on your laptop) (Kai Uwe Broulik. Link).
Tokodon Browse the Fediverse
Tokodon will now remind you to add an alt text to your images (Joshua Goins, 25.04.0. Link).

We also added an option for a confirmation dialog before boosting a post. This is particularly relevant for people managing multiple accounts to prevent them from boosting posts from the wrong account (Joshua Goins, 25.04.0. Link).
In the department of trust and safety improvements, you can now filter some posts from your timeline (Joshua Goins, 25.04.0. Link).

And show a banner when an account has moved to another server (Joshua Goins, 25.04.0. Link).

You can now browse posts that are about a news link (Joshua Goins, 25.04.0. Link) and see the post associated with an image in the media grid of a profile (Joshua Goins, 25.04.0. Link).
We also fixed a bug where, when failing to authenticate one of your accounts, Tokodon would be stuck indefinitely on the loading screen (Carl Schwan, 24.12.2. Link).
Kwave Sound editor
We improved the performance of the playback using QtMultimedia significantly (Thomas Eschenbacher, 25.04.0. Link).
…And Everything Else
This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.
For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.
Get Involved
The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable.
You can help KDE by becoming an active community member and getting involved. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer either. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things.
You can also help us by donating. Any monetary contribution, however small, will help us cover operational costs, salaries, travel expenses for contributors and in general just keep KDE bringing Free Software to the world.
To get your application mentioned here, please ping us in invent or in Matrix.





