This months has been so densely packed with conferences that I’m lagging behind
on reporting on them here. So you get two in one post now, the
Nextcloud Community Conference 2024
which followed almost back-to-back on Akademy,
and the Matrix conference 2024 last weekend.
Nextcloud
Photo by Nextcloud
The Nextcloud conference is a week-long event, I’ve however only
managed to attend parts of the first two conference days. Still enough for a few interesting conversations.
The most exciting development from a KDE (PIM) point of view would be the progress on
CalDav push notifications. While this was still mostly a theoretical concept when we
discussed it last year
with the DAVx⁵ team, there is now a working prototype consisting
of the DAV Push Nextcloud (server) app and the DAVx⁵ Android sync client.
With a working server to test against, getting this implemented for the KDE clients
has become a lot more interesting and feasible.
We also discussed Wayland support of the Nextcloud desktop client, and I learned an interesting
detail in Björn Lundell’s keynote, the fact that the official
EU translations of laws can have (unintentional) semantic differences, as can be observed apparently in the definition
of “FOSS” in the new EU Cyber Resilience Act (CRA).
Matrix
For the Matrix conference I also only managed to attend half of it, but KDE overall had a slightly
bigger presence there, as KDE also is an Associate Member of the Matrix foundation.
My main interest here was advancing the Matrix-based trip synchronization in Itinerary.
I described the basic idea here previously,
but of course actually implementing this encounters many more challenges. And those are much easier to solve when you
have physical access to a bunch of people with extensive experience on that subject.
Most parts for interacting with Matrix directly should be done now, but there’s still
a lot of things to be sorted out to make the synchronization robust in all kinds of scenarios.
Overall this looks promising though and might get done in time for 24.12.
Beyond Itinerary I also was involved a bit with reviving and improving the Android CD builds
of NeoChat. Some of the discussed changes
would also benefit other KDE applications on Android.
What’s next
October will be a bit more relaxed regarding events, next I’ll be at the bi-annual
OSM Hack Weekend in Karlruhe again.
The core Plasma team remains deep in bug-fixing mode until Plasma 6.2.1, with lots of bugs fixed this week! This is the second-to-last week of development before the repos are frozen, and we’re cranking away like mad to get 6.2 in great shape. And it is indeed in very good shape so far. The worst issues we’re still seeing are related to notifications freezing and being mis-rendered, caused by recent changes made to fix another significantly less severe issue. So in the worst-case scenario, we can simply revert the changes before the final 6.2 release if we don’t manage to fix the regressions in time.
Something I hope we can prove to the world is that we’re capable of keeping Plasma stable over the long haul at the same time that we add features and refine the UI. Plasma 6.2 offers us a good opportunity for it!
Notable UI Improvements
Kickoff’s category icons have been made symbolic and monochrome (where the active icon theme supports it), which conforms better to the HIG and other apps, and mirrors a similar change done for Discover recently (me: Nate Graham, Plasma 6.2.0. Link):
On System Settings’ Region and Language page, the list of languages you can add to your system is now alphabetized by first letter (rather than by the hidden language code), and all the languages are properly capitalized (David Edmundson, Plasma 6.2.0. Link 1 and link 2)
In Plasma’s Digital Clock popup, calendar dates are now perfectly horizontally aligned even when some of them have text for events under them, and content can no longer sometimes overflow the header when using the combination of an alternate calendar plugin, certain third-party Plasma themes, and a large font size (Tusooa Windy, Plasma 6.2.0. Link 1 and link 2)
It’s now possible to get a standard context menu for the text field that appears when renaming files or folders on the desktop (Akseli Lahtinen, Plasma 6.2.0. Link)
System Settings’ Legacy X11 App Support page now supports the non-default settings highlighting feature (David Edmundson, Plasma 6.2.0. Link)
With the “Switch virtual desktops on screen edge” setting turned on, screen edges with no virtual desktop on the other side of them will no longer inappropriately show a glow anyway (Xaver Hugl, Plasma 6.2.0. Link)
Plasma notifications that show job progress no longer include a “Details” button if there are no extra details to show (Kai Uwe Broulik, Plasma 6.2.0. Link)
Windows no longer snap to the invisible edge where an auto-hidden panel would be when it’s visible (Vlad Zahorodnii, Plasma 6.2.0. Link)
Improved the margins and paddings for the “Add Widgets” sidebar (me: Nate Graham, Plasma 6.2.0. Link 1 and link 2):
When dragging an abstract representation of an app (from e.g. Kickoff, KRunner, or Task Manager) to the desktop, you’ll no longer be prompted to create an Icon widget out of it; you’ll now only have the “Copy” and “Link” options that create an actual file. The Icon Widget option was found to be confusing on the desktop because it doesn’t follow the normal semantics for desktop icons. This is part of a larger project to improve the usability of dragging apps to the desktop; expect more similar patches in coming weeks (me: Nate Graham, Plasma 6.3.0. Link)
Improved how System Settings’ Default Applications page communicates the situation where you’ve forced it to use an app that doesn’t actually advertise support for the file formats you want it to open (Marco Martin, Plasma 6.3.0. Link):
Don’t do this, it’s silly!
Every KWin effect listed on System Settings’ Desktop effects page that needs to be activated using a keyboard shortcut now mentions this in its caption (me: Nate Graham, Plasma 6.3.0. Link)
Plasma’s Sticky Note widget now has a symbolic monochrome widget when placed on a panel while using the Breeze icon theme. This completes the project to support symbolic panel icons for all of the widgets we ship by default! (Martin Frueh, Frameworks 6.7. Link 1 and link 2):
The “sleep and screen locking are inhibited” icon has gotten a redesign to hopefully make its meaning clearer (Andy Betts and Natalie Clarius, Frameworks 6.7. Link)
Notable Bug Fixes
Fixed a case where KWin would crash while you’re using the Khronkite tiling script (Vlad Zahorodnii, Plasma 6.2.0. Link)
Fixed a case where KWin could crash under certain circumstances while the Sheet effect is active (Vlad Zahorodnii, Plasma 6.2.0. Link)
Fixed a case where Plasma could crash and KWin could hang when you drag a layer from GIMP onto the desktop for some reason (David Edmundson, Plasma 6.2.0. Link)
Fixed a case where Plasma could crash when you chicken out of applying a Global Theme and its associated desktop layout after starting the process (Marco Martin, Plasma 6.2.0. Link)
Fixed a case where Powerdevil could crash on login (Alessandro Astone, Plasma 6.2.0. Link)
Fixed a way that System Settings’ KWin Rules and Device Automount pages could crash on close due to the use of nested event loops. Nested event loops are evil; get rid of them all! (Nicolas Fella, Plasma 6.2.0. Link 1 and link 2)
XWayland-using apps now have their accessibility properties exposed to screen readers as expected (David Edmundson, Plasma 6.2.0. Link)
When Flatpak has an oopsie and throws the dreaded “Aborted due to failure” message while you’re updating Flatpaks, Discover now wraps it in a nicer message telling you to try again later, which is usually enough to make it work the next time. This also fixes a related issue with Discover’s error dialogs that could cause them to not be large enough to show their content in some cases. Unfortunately we have not been able to actually fix the error itself or improve its wording yet, since it’s a bug in Flatpak itself (Akseli Lahtinen, Plasma 6.2.0. Link 1 and link 2)
Fixed an annoying bug that could cause some (not all) tiled CSD-using apps to become un-tiled when their headers are clicked. This affected VSCode specifically, but for other affected apps (e.g. Firefox) it can also be an app-specific issue (Vlad Zahorodnii, Plasma 6.2.0. Link)
On System Settings’ Shortcuts page, extremely long labels for shortcuts no longer sometimes overflow the layout (Akseli Lahtinen, Plasma 6.2.0. Link)
Fixed a bug that could cause maximized windows in multi-screen setups to be restored to the wrong screen after un-maximizing them with certain methods (Xaver Hugl, Plasma 6.2.0. Link)
Setting up the Meta key to toggle KWin’s Overview effect now works consistently after a reboot (Xaver Hugl, Plasma 6.2.0. Link)
Fixed an issue that prevented newly installed or deleted third-party splash screens from being shown or removed (respectively) from the relevant System Settings page at the right times (Marco Martin, Plasma 6.2.0. Link)
Fixed an issue that made it hard to trigger edges and hotcorners on screen edges that also have a Plasma panel in auto-hide mode (Xaver Hugl, Plasma 6.2.0. Link)
Fixed a graphical glitch affecting people using AMD and NVIDIA GPUs who maximize windows on a screen with a floating panel (Vlad Zahorodnii, Plasma 6.2.0. Link)
Fixed a color bug in Kirigami that caused the text of disabled buttons in various Kirigami-based apps to not look visually disabled, and also caused caused some pieces of text to inappropriately have a disabled appearance on System Settings’ Screen Locking page (Marco Martin and Arjen Hiemstra, Frameworks 6.7. Link 1 and link 2)
Fixed a series of sizing bugs affecting Kirigami.Dialog and its subclasses that could cause it to not be wide enough when assigned very long footer buttons (Akseli Lahtinen, Frameworks 6.7. Link 1 and link 2)
Fixed the ugly new Qt font selector dialog to at least not be completely visually broken when using a dark color scheme (Kai Uwe Broulik, Qt 6.8.0. Link)
Setting the GTK_USE_PORTAL=1 environment variable on your system to make GTK apps use the portal system (and hence use the superior KDE file dialog) no longer breaks font rendering in GTK apps quite horribly unless the GTK portal is also installed (Ilya Fedin, GTK 3.24.44, Link)
138 KDE bugs of all kinds fixed over the last week. Full list of bugs
Notable in Performance & Technical
Improved the speed with which the Plasma Task Manager widget’s context menu appears when recent document tracking is globally disabled, especially when using a networked home directory (Kai Uwe Broulik, Plasma 5.27.12. Link)
Fixed the binding loops affecting Kirigami.Dialog and its subclasses. These components are widely used, so this should make a difference (Akseli Lahtinen, Frameworks 6.7. Link)
How You Can Help
Please continue to test the Plasma 6.2 beta release! We’ve focused a lot on stability for this release and want to make sure we haven’t missed anything big before the final release in two weeks. Your bug reports do not go into a black hole; we triage every one! So enthusiastic testing and bug reporting is encouraged.
Otherwise, visit https://community.kde.org/Get_Involved to discover additional ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite! Or consider donating instead! That helps too.
Three weeks ago, I attended KDE Akademy 2024 in Würzburg, Germany. It was pretty exciting to meet my KDE friends after one year since last Akademy 2023!
Travel drama Ideally whole trip should’ve taken just ~18 hours door-to-door but thanks to Lufthansa whole travel turned out to be of 48 hours in total including layovers. Flight cancellation and rebooking caused by travel to start way earlier than planned (Thursday 5:00 AM instead of planned 07:00 PM) and had to spend insane amount of time in layover.
We have lift-off! Element X, Call and Server Suite are ready!
Tags: tech, matrix, ux
Definitely a big announcement for Matrix. Could it be the beginning of going mainstream? I suspect it’ll be now or never. I’m slightly concerned about the desktop support being apparently ignored, the UX there is far from great still.
Tags: tech, ai, machine-learning, gpt, criticism, law
This is clearly less high profile than the Scarlett Johanssen vs OpenAI one. Still this shows it has the potential to become a widespread (even though shady) practice. This might need some regulation fairly soon.
Forget ChatGPT: why researchers now run small AIs on their laptops
Tags: tech, ai, machine-learning, gpt, science
This is indeed important to be able to run such models locally. Will still require more optimization but it’s slowly getting there. The reproducibility it brings is especially necessary for science.
Eliminating Memory Safety Vulnerabilities at the Source
Tags: tech, c++, rust, security, safety
Excellent proof of why you don’t want to “rewrite it all in Rust”. It’s important to respect the old code and focus on applying safety practices on the new code. This is also why the upcoming changes to C++ are worth it, it might improve the interoperability factor almost for free.
Overview of cross-architecture portability problems – Michał Górny
Tags: tech, cpu, portability
Nice list of common portability issues one can encounter at the machine architecture level. But don’t be fooled, this doesn’t have implications only for C and C++, those problems leak in higher level languages as well.
Resilient Microservice Applications, by Design, and without the Chaos
Tags: tech, architecture, microservices, reliability, research
I’m obviously not in love with the complexity this type of architecture brings. That being said, this thesis brings an interesting approach to better detect failure scenarios in such systems.
This law is unfortunately too little known. Here is a nice and short primer. Be careful though, it’s short but packed with information, might require more reading around the concepts highlighted in this article.
DORA Metrics At Work. How we doubled our team’s delivery…
Tags: tech, project-management, quality, metrics
When I read the content of this article I wonder how useful the metrics really were. I mean clearly they helped the team realize which changes to bring… but the practice changes were all somewhat conventional in a way. You go a long way when you focus on quality and create the space for it.
As KDE grows, so does the interest in each of its projects. Gathering all KDE news in one place no longer works. The volume of updates coming from the KDE community as a whole has become too large to cover in its entirety on the Dot. With this in mind, we are archiving the Dot, but keeping its content accessible for historical reasons.
The news coming out of the community was curated and edited for the Dot. The current rate of news items being published today would've not only made that impractical, but would have also led to things being unjustly left out, giving only a partial view of what was going on.
But we are not leaving you without your source of KDE news! We have figured out something better: we have worked with KDE webmasters to set up a blogging system for contributors. You can now access Announcements, Akademy, the Association news, and the news from your favorite projects directly, unfiltered, unedited, straight from the source.
Or... If you want to keep up with what is going on in ALL KDE projects and news on a daily (often hourly) basis, use the Planet! Access it on the web or add an RSS feed to your reader. You can also follow KDE news as it happens in our Discuss forums and talk about it live with the rest of the community. You can even follow @planet.kde.org@rss-parrot.net on Mastodon to stay up to date.
If you just want the highlights, check out our social media:
Krita 5.2.5 is here, bringing over 50 bugfixes since 5.2.3 (5.2.4 was a Windows-specific hotfix). Major fixes have been done to audio playback, transform mask calculation and more!
In addition to the core team, special thanks to Maciej Jesionowski, Ralek Kolemios, Freya Lupen, Michael Genda, Rasyuqa A. H., Simon Ra and Sam James for a variety of fixes!
Changes since 5.2.3:
Correctly adjust audio playback when animation framerate is changed.
Fix no layer being activated on opening a document (Bug 490375)
[mlt] Fix incorrect usage of get_frame API (Bug 489146)
Fix forbidden cursor blinking when switching tools with shortcuts (Bug 490255)
Fix conflicts between mouse and touch actions requested concurrently (Bug 489537)
Only check for the presence of bt2020PQColorSpace on Windows (Bug 490301)
Run macdeployqt after searching for missing libs (Bug 490181)
Fix crash when deleting composition
Fix scaling down image with 1px grid spacing (Bug 490898)
Fix layer activation issue when opening multiple documents (Bug 490843)
Make clip-board pasting code a bit more robust (Bug 490636)
Fix a number of issues with frame generation (Bug 486417)
A number of changes related to qt6 port changes.
Fix black canvas appearing when "Limit animation frame size" is active (Bug 486417)
WebP: fix colorspace export issue when dithering is enabled (Bug 491231)
WebP: preserve color profile on export if color model is RGB(A)
Fix layer selection when a layer was removed while view was inactive
Specific Color Selector: Update labels fox HSX (Bug 475551)
Specific Color Selector: Fix RGB sliders changing length (Bug 453649)
Specific Color Selector: Fix float slider step 1 -> 0.01
Specific Color Selector: Fix holding down spinbox arrows (Bug 453366)
Fix clone layers resetting the animation cache (Bug 484353)
Fix an assert when trying to activate an image snapshot (Bug 492114)
Fix redo actions to appear when undoing juggler-compressed actions (Bug 491186)
Update cache when cloning perspective assistants (Bug 493185)
Fix a warning on undoing flattening a group (Bug 474122)
Relink clones to the new layer when flattening (Bug 476514)
Fix onion skins rendering on layers with a transform masks (Bug 457136)
Fix perspective value for hovering pixel
Fix Move and Transform tool to work with Pass-Through groups (Bug 457957)
JPEG XL: Export: implement streaming encoding and progress reporting
Deselect selection when pasting from the clipboard (Bug 459162)
Download
Windows
If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.
Note: We are no longer making 32-bit Windows builds.
We consider Krita on ChromeOS as ready for production. Krita on Android is still beta. Krita is not available for Android phones, only for tablets, because the user interface requires a large screen.
The Linux AppImage and the source .tar.gz and .tar.xz tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).
I’m pleased to announce the immediate availability of Plasma Browser Integration version 2.0 on the Chrome Web Store and Microsoft Edge Add-ons page. This release updates the extension to Manifest Version 3 which will be required by Chrome soon. The major version bump reflects the amount of work it has taken to achieve this port.
Konqi surfing the world wide web
Plasma Browser Integration bridges the gap between your browser and the Plasma desktop. It lets you share links, find browser tabs and visited websites in KRunner, monitor download progress in the notification center, and control music and video playback anytime from within Plasma, or even from your phone using KDE Connect!
Despite the version number, there aren’t many user-facing changes. This release comes with the usual translation updates, however. Since this release doesn’t bring any advantage to Firefox users over the previous 1.9.1, it will not be provided on the Mozilla add-ons store.
We have taken the opportunity of reworking the extension manifest to make the “history” permission mandatory. When the browser history KRunner module was originally added, the permission was optional as we feared it might scare users away when presented with a scary permission warning when updating the extension.
Since dolphin-plugins 24.05, you can git clone from dolphin with dolphin-plugins git plugin.
Once the plugins are installed and Git is enabled in the context menu settings, you have this context menu action available:
And this shows this git clone dialog (with my french locale):
You can paste a git repository url and it will fetch its branches.
If you happen to have a url in your clipboard or a git clone command line, it will directly extract it as the repository url.
This was spearheaded by Nikolai Krasheninnikov, thanks.
I participated a bit as well and reviewed it.
There is still opportunity to improve the git implementation, like having a better commit dialog.
That would be a nice and simple new contributor opportunity :)
Welcome to the second post in our "This Week in KDE Apps" series! If you missed it
we just announced this new series last
week and our goal is
to cover as much as possible of what's happening in the KDE world and complete
Nate's This Week in Plasma.
This week we had a new Ruqola, KDE's Rocket.chat client, release and a new
GCompris release. There is also news regarding NeoChat, KDE's Matrix chat client;
Itinerary, the travel assistant that lets you plan all your trips; the Dolphin
file browser; Marble, KDE's map application application; the Okular document
view and more.
Let's get started!
Dolphin
Dolphin now ensures that the Trash always correctly shows all trashed files of all connected storage devices, even if they get dynamically connected or disconnected. (Akseli Lahtinen, 24.12.0. Link)
Made the lists of recent files and locations update more reliably. (Méven Car, 24.12.0. Link)
Filelight
Resolved a bug that caused the graphs to sometimes be mis-rendered until hovered with the pointer. (Harald Sitter, 24.12.0. Link)
Itinerary
Itinerary can now handle geo:// URLs by opening the "Plan Trip" page with a
pre-selected arrival location. This is supported both on Android and Linux.
(David Redondo, 24.12.0. Link)
Itinerary now defaults to showing the new two-level trips/timeline view. (Volker Krause, 24.12.0. Link)
Trip groups can now be restored from backups. (Volker Krause, 24.12.0. Link)
KDE PIM
Fixed a crash when auto-discovery of or connection to Exchange Web Resources has failed (Daniel Vrátil, 24.08.2.
Link)
Okular
Implemented support for more types of items in comboboxes of PDF forms. (Pratham Gandhi, 24.12.0.
Link)
Improved the speed and correctness of printing for the common case of not needing to rasterize the document and not needing to print annotations. (Oliver Sander, Albert Astals Cid, and Nicolas Fella sponsored by TU Dresden, 24.12.0. Link)
Improved the UX of digitally signing a document (Nicolas Fella sponsored by TU Dresden, 24.12.0. Link)
Spectacle
Improved visual quality for screenshots taken at non-fractional scale factors. (Noah Davis, 24.08.2. Link)
Marble
Marble was ported to Qt6. (Gilles Caulier & Carl Schwan, 24.12.0. Link)
The Kirigami UI — which was last updated in 2017 — was significantly rewritten and modernized. (Carl Schwan, 24.12.0. Link).
Fixed various visual papercuts for NeoChat on Android and Plasma Mobile. (Carl Schwan, 24.08.2 and 24.12.0. Link, Link, Link, Link, ...)
KDE Connect
The Ping and Find Remote Device plugins were ported to Kotlin. (TPJ Schikhof, Link 1, Link 2)
LabPlot
Add possibility to apply functions on curves directly on the plot. This makes it is possible to, for example, calculate the differences between curves, scale or shift curves, etc. (Martin Marmsoler. Link)
Kate
Improved the visuals of Kate's inline code formatting tooltips. The content of these tooltips can now also be displayed in a special context tool view which can be enabled in the Behavior settings (Karthik Nishanth, 24.12.0. Link)
GCompris
GCompris 4.2 is out with some bug fixes and graphical improvements for multiple activities. More information is available in the release announcement.
Ruqola
Ruqola 2.3.0 — the KDE Rocket.chat client — is out with an administrator mode, a new welcome page, and better support for the custom markdown syntax of Rocket.chat. More information is available in the release announcement.
Other
Eamonn Rea made many Kirigami application remember their size across launches:
This blog only covers the tip of the iceberg! If you’re hungry for more, check
out Nate's blog about Plasma and KDE's
Planet, where you can find more news from other KDE
contributors.
Get Involved
The KDE organization has become important in the world, and your time and
contributions have helped achieve that status. As we grow, it’s going to be
equally important that your support become sustainable.
We need you for this to happen. 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 help KDE continue bringing Free
Software to the world.