KDE PIM/Meetings/Toulouse2018
Appearance
Present
- 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
- pimcommon - get rid of PimCommon::SieveSyntaxHighlighterUtil (https://phabricator.kde.org/D12401, https://phabricator.kde.org/D12409)
- look at PimCommon/PimUtil
- PimCommon::Util::createImapSettingsInterface that is also in AkonadiMime properly move the function to the PimCommonAkonadi at least, as it needs Akonadiserver to run anyways
- 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.
KMail
- Improved security when encountering encrypted emails with external references:
- Discussed header validation support (memory hole, DKIM): how to integrate this into mimetreeparser, and how to feed that into the mail renderer: https://phabricator.kde.org/T8568
KItinerary
- 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
Akonadi
- 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
- Investigated Qt 5.11 bug which broke clicking on links in KMail, reported as https://bugreports.qt.io/browse/QTBUG-67870 (David)
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)
KSMTP
- Fix sending emails where a line starts with a dot
- Remove dependency on KMime
Kontact
- Prettier icons in the Kontact side pane
Frameworkification
- 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)
Outreach
- accept and handle outstanding review requests from new contributor.
Ruqola
- 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?
Syndication
- 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
Akregator
- cleanups on the storage plugin API
- drop deprecated unused code
- work on a SQL backend (private branch so far, but beginning to work)