Since the last report two month ago a lot has happened around KDE’s personal information management applications again. More than 1300 changes by more than 25 people resulted in many improvements as well as the 22.04 feature release. Here are some of the highlights.

Kontact

  • Searching in many places is aware of diacritics and accents now, and can ignore those. This means e.g. searching for “resume” also finds “résumé” and vice versa, which can be particularly useful in international communication where those details can get lost due to not everyone even having the the input methods to type things correctly.
  • All Kontact applications can now dynamically change the color scheme at runtime and have a fullscreen mode now.
Screenshot of KMail allowing color scheme switching at runtime.
Color scheme switching in KMail.

Ongoing since quite some time is the continuous effort to prepare the code base for the transition to Qt6 and KDE Frameworks 6. There also has been work on improving the CI coverage by introducing pre-integration checks for Windows as well where possible, and by introducing stricter CI checks for unit tests.

Calendaring

  • Kalendar and KOrganizer now finally use the same unified reminder daemon, replacing the previous app-specific implementations.
  • Damien Caliste added support for the iCal notebook feature. This enables for instance to get a list of important incidences.
  • Alois Spitzbart made KHolidays read all categories from a holiday definition and fixed cases where the same holidays would be shown several times (bug 441275).

Kalendar

  • Several UI tweaks and fixes have been made to make certain interactive elements clear, such as resizeable drawers and headers, which now become highlighted on hover/click.
  • Hovering over tasks now highlights said tasks in the color of their parent calendar.
  • The week view/three day view/day view has seen changes to its layout code that should improve the positioning and sizing of events and tasks that take place in shorter timespans and that overlap with each other.
  • There is an ongoing effort to refactor and move around commonly used calendaring code with the goal to reduce Kalendar’s dependencies, and in particular any remaining widget-based UI code paths that aren’t well suited for mobile use.

KOrganizer

  • The “floating” time zone is supported properly. A floating event occurs at a certain time of day, regardless of your computer’s time zone setting. If you create a floating event named “Second Breakfast” starting at 9:30, travel to Minas Tirith, and change your system’s time zone to “Gondor”, “Second Breakfast” will still appear at 9:30 on your calendar.
  • Some buggy programs create ICS files containing events that do not have Unique IDs. KOrganizer can now import such files (bug 339726).
  • If KOrganizer can’t import a file containing the ancient vCalendar format, the error messages that it produce are more informative (bug 328976).
  • In the Incidence Editor, Tab and Shift-Tab move directly from the Calendar menu to the Summary field and back (bug 331543).
  • When the Incidence Editor edits an instance that was created from a template, it no longer resets the start, end, or due dates (bug 332048).
  • Pressing the “Today” button causes the Month view to show today’s month; previously, it would sometimes show the previous month (bug 333066).
  • The user’s preferences for “icons to use” in the Agenda and Month views are preserved when KOrganizer restarts (bug 449473).
  • Progress indicators in the todo tree view are no longer sometimes wrongly rendered vertically.
  • The sidebar item viewer is no longer blank (bug 452507; fixed in 22.04.1).

Kleopatra

Usability and accessibility was again a main focus of development in the last two months:

  • pinentry-qt got many accessibility improvements (T5863) and a few bug fixes (T5866, T5867).
  • The recipient input field used in the file encryption dialog (and also for the notepad) also got lots of accessibility improvements, e.g. by making it work with keyboard only, by adding accessible error handling, by making sure that screen readers get the information they need, etc. (T5845, T5876)

Moreover, new features were added:

  • You can now revoke your own keys, e.g. if you have created a new one and want to make sure that people switch to the new key. (T5859)
  • You can revoke individual user IDs, e.g. if you stop using an email address. (T4087)
  • Adding new user IDs was simplified with a lot of attention to making in particular the error reporting (e.g. if you enter a wrongly formatted email address) accessible. (T5916)

And a few smaller things were added or fixed:

  • Force visual focus of button with input focus when OpenPGP certificate generation dialog is shown. (T5832)
  • Make “Show not certified certificates” button show “good” OpenPGP keys that have not yet been certified by the user. (T5850)
  • Force usage flags if key type is forced in OpenPGP certificate generation dialog. (T5865)
  • Allow specifying the minimum and maximum validity of newly created OpenPGP keys. (T5864)
  • Show “wrong password” error instead of confusing “bad session key” error, if the user enters a wrong password when decrypting symmetrically encrypted data. (T5939)
  • Delay displaying a “no key found” error until the lookup running in the background is completed without finding a matching key. (T5945)

KMail

  • Fix KMail not displaying calendar invites properly (bug 452480, will be part of 22.04.1).
  • Correctly check if an SMTP server supports Delivery Status Notifications (DSN) before using that.
  • Fix travel information extraction for certain combinations of email and text codecs used in Asia.

KAlarm

  • Move all Akonadi dependencies into a plugin, to enable KAlarm to be run by users who don’t use Akonadi.
  • Make KAuth an optional dependency.
  • Move kalarmcal library from its own repository into kalarm.
  • Remove all ‘speak’ functions if text-to-speech not available at build time.
  • When default resources are created on first run, ensure they are enabled.
  • Fixed some UI bugs in the Preferences dialog.
  • Display a resource’s alarms if it is disabled and re-enabled.

Contacts

  • Kevin Kofler fixed setting the birthday via QML (bug 446665).

Itinerary

There has been quite some activity around KDE Itinerary as well, as you’ll find in its dedicated summary blog post.

In very recent news, we are unfortunately no longer able to publish updates in the Google Play store, due to KDE Itinerary being able to store health certificates. New rules by Google do not allow such a feature unless you are a government or public health entity.

The only way around that would be building a separate version just for the Play store with that feature as well as any references to it in the application metadata removed. That’s something our build and deployment pipeline doesn’t support at this point though.

KDE Itinerary in the Play store will be therefore be stuck at 21.12.3 for the foreseeable future, for continuing to receive updates we recommend KDE’s F-Droid repositories instead.

Help us make KDE PIM even better!

Take a look at some of the junior jobs that we have! They are simple, mostly programming tasks that don’t require any deep knowledge or understanding of the code, so anyone can work on them. Feel free to pick any task from the list and reach out to us by email, Matrix #kontact:kde.org or IRC #kontact:libera.chat! We’ll be happy to guide you and answer all your questions. Read more here…