KDE PIM/Meetings/Toulouse2018


  • Dan Vratil
  • Volker Krause
  • Sandro Knauss
  • David Faure
  • Franck Arrecot
  • Kevin Ottens
  • Laurent Montel
  • did I forget anyone?

Fix PimCommon last failing test (shouldLoadSaveAutocorrection)

Akonadi Search

  • encrypted emails - first refactoring akonadisearch wil lto take place

kdepim dependencies

  • look at libsievie, that is far too high in the dependency tree
  • for libSieve change dependency kdepim-runtime (imapresource <- libksieve) should make it easier to move libsieve to a lower tier and make imapresource push informations to ksiveui and we can remove akonadi dependency

Privacy goal

Memory hole support https://phabricator.kde.org/T742

The big issue here is that we needs to update the headers outside the mimetreeparser, like subject or from/to etc. That's why mimetreeaparser should get an interface, so plugins a capibial to change headers. Another header that would benefit of that interface is a DKIM signature checks on the mail, that would update the DKIM status based on actual data.



  • try harder to extract boarding times from pkpass files
  • live test of the itinerary app passing manual and automatic boarding pass inspection on two airports
  • acquire more test data from sprint attendees (and as a result of this made EasyJet IATA BCBP data parsing work, and fixed Iberia boarding pass extraction)
  • handle merging of codeshare flight data
  • rework data extraction in KMail when multiple data elements are found (this is now all merged together to further improve the completeness of the data)´
  • made boarding passes/tickets for trains and busses accessbile in the app too (this should in theory enable the app to let you travel on SNCF when booked via trainline.eu)
  • attach the entire reservation data to ical events created from it, so it's fully synced to other devices that way


  • finished and merged Notification Payloads (T639) - the hope of Notification Payloads is to give us substantial performance boost and IO reduction by easing on the amount of SQL queries we do, especially during sync, by sending the changed entities as part of change notifications, so that clients don't have to query the entiy from Akonadi after they receive the notification
  • improved Akonadi Console to simplify debugging notifications and monitors
  • new Logging tab in Akonadi Console with logs from all Akonadi apps
  • improve Debbugger view

Debugging akonadi

  • it is hard to debug akonadi issues.
    • update debugger window
    • to handle more messages without slowing down the machine too much (use qlistview instead of )

LDAP completion

  • Now works again with non-ascii characters in the search string (David)

WebEngine regressions

Qt performance

  • Sped up QTimeZone::isTimeZoneIdAvailable by a factor 43 in https://codereview.qt-project.org/227128 - this is relevant when deserializing many events from akonadi (testcase: opening an invitation email in standalone kmail, loads the full calendar)

IMAP Resource

  • Fix IMAP resource stuck if connection lost between OK and Login, as well as during Login (David)
  • Fix possible data loss on connection lost, depending on the current task. This is likely what leads to some emails in a Send folder having no remoteId, making every future sync of that folder slower (David)

kdepim addons

  • Fixed long-standing crash on make install, due to a memory leak when closing a separate viewer window (David)


  • Fix sending emails where a line starts with a dot
  • Remove dependency on KMime


  • Prettier icons in the Kontact side pane


  • plan for syndication: remove FileRetriever (only used by akregator via Loader::loadFrom), that removes the KIO dependency, after 18.08 freeze ABI and move to KF5
  • kcontacts kdelibs4support data dependency: move to CLDR for country name mapping, move the address formatting data from kdelibs4support to kcontacts

OAuth login

  • moved the XOAUTH2 SASL plugin to LibKGAPI
  • IMAP: it's possible to use Gmail IMAP without the OAuth authentication again
  • added support for OAuth authentication to SMTP module
  • added XOAUTH2 support to KMailTransport, so it's possible to authenticate with Gmail SMTP via XOAUTH2 (which means 2FA and Gmail for Business domains support out of the box)


  • accept and handle outstanding review requests from new contributor.


  • Fixing AboutPage tab bar
  • Fixing about page author layouting
  • Preparing fix for password security if prefilled
  • discussion design over mutli account ruqola UI

Android backend for KCalCore

  • assumption: we use the platform calendaring API, rather than Akonadi, and use KCalCore::Calendar as the unifying API for that, backed by AkonadiCalendar and a yet to be created AndroidCalendar
  • challenge: that API doesn't cover all of ical, but for some sync connectors (namely DavDroid) some extra fields seem available in the ExtraProperties table (confirmed for GEO, X-xxx and attachments)
  • problem: OpenTasks + DavDroid do not store custom properties or parent <-> child relations, that's even lost on Android-side changes. This means we also can't access all information needed for Zanshin on Android.
  • what to do about the google calendar? any chance to access additional ical fields there?


  • removed KIO and KCoreAddons dependency to make it ready to be moved to Frameworks

Modern C++ usage

  • KF5 is still on C++11, due to GCC 4.8 and MSVC 2013
  • application code could use C++14 (e.g. generic lambdas), which would require GCC 4.9 and MSVC 2015, which is fine


  • cleanups on the storage plugin API
  • drop deprecated unused code
  • work on a SQL backend (private branch so far, but beginning to work)

Community Data Analysis

This page was last edited on 14 August 2018, at 07:47. Content is available under Creative Commons License SA 4.0 unless otherwise noted.