Sprints/PIM/2025
Appearance
< Sprints
Venue
- enioka
- 13 rue du Mail - 75002 Paris - France
- To get to the venue:
- Pass the large wooden door on the street
- First door to the left to get in the stair case
- Get to the third floor, ring at the door marked enioka
- Someone (likely ervin) will open
Agenda
Add topics we should discuss:
- Progress report on the topics from 2024 https://invent.kde.org/groups/pim/-/milestones
- Switching to the sqlite backend by default
- How to get more information to debug weird cases in the field
- Enabing KUserFeedback to get survey data from users
- Design a survey or surveys to know our (former) users better
- Building criteria and buckets on how to handle features removal
- Look at the channel to contact us for bugs or other requests, see what makes sense for us (we have several and they all feel like /dev/null from the outside)
- Find a way to tame the "random features popping up" effect
- Status report on KMime frameworkification
- Documenting the port of agent/resources settings GUIs to QML
- KDE PIM on Flatpak status quo and further plans
- Online Accounts System
Notes
Kolab resource retirement
- Status: The resource has already been dropped by some distributions because it does not longer build with current libraries (e.g. Boost).
- The proposed solution of notifying existing users to manual switch to IMAP/DAV is implement since a sprint or two ago, but wasn't merged yet.
- Migration isn't going to get implemented, and hard, so waiting for that makes things actually worse.
- Plan: Add a dummy resource that shows a notification with hints for migration.
- See also https://community.kde.org/Sprints/PIM/2024#Kolab_resource_retirement
KMime frameworkification
- Status: https://invent.kde.org/pim/pim-technical-roadmap/-/issues/49
- Plan: Get it into KF 6.23 (release February 2026) and switch KDE PIM to it with Gear 26.04
Online Accounts System
- Nico demo'ed the current state of this (https://invent.kde.org/system/konlineaccounts)
- Some remaining work: https://invent.kde.org/system/konlineaccounts
- What to do about the old online accounts code/uses? Goging to be removed.
- Nico will finish this, will ideally be part of 26.04
- Application side can be integrated already, as this has to gracefully fall back when the D-Bus daemon isn't available anyway.
Use KUserFeedback
- KUserFeedback is already used by KMail, ...
- include types of used resource and plugins
- filtering out unknown resources/plugins would make that safe
- settings are more tricky, we'd probably need a proper pull infrastructure for this first in KUserFeedback
- Survey: what would we want to ask? and what would we want to actually change based on the result?
- Would make most sense when the answers actually have consequences, ie. what would we change/do with the results
KDE PIM on Flatpak
- Kontact one exist, Merkuro in review, with duplicated Akonadi
- Can we have a shared Akonadi Flatpak? currently not, we would want a Flatpak Akonadi runtime that also contains the server processes (that's non-trivial to implement though, with bigger implications for sandboxing and permissions etc, as we need also file system and socket access, not just D-Bus)
- Mulitple Akonadi instances in different Flatpaks can't share data and make host integration difficult
- probably we should set this up with separate Akonadi instance identifiers
- We'd want a KCalendarCore plugin that can use a Flatpak'ed Akonadi instead of a host one
- Check how GNOME does this, they seem to have a similar situation in PIM nowadays
- We need a KCalendarCore::Calendar interface over D-Bus to bridge between host and flatpak instances either way, as the raw Akonadi protocol isn't stable / ABI compatible
- we could explore a custom setup for a service Flatpak containment, as a first step/prototype, instead of doing this upstream first (lacking another usecase there fore now), based on a shared Akonadi runtime containing the libraries and binaries
Switch Akonadi to the sqlite backend by default
- Default on new Neon installation since 2023
- Kevin is using it for a while, Carl on one new installation.
- Fails on super large queries, but we want to get rid of those anyway. Carl fixed all known ones already.
- For now it's only about new installations, migrating comes later, to in the very long run drop support for the other backends.
- Can we make the migrator to have a --test-run or --dry-run option that just writes a new sqlite db to test the process
- Drop support for migrating to Postgres already, as that requires a fixed Postgres version
How to get more information to debug weird field issues
- Attach relevant metadata to sentry reports, assert on more internal invariants to actually get Sentry reports
- Can we get the resource identifier set as process name in journald logs
- More structured log output containing job ids/transaction ids
- should go down in the same way to kimap, kdav, kio, etc
- All of Akonadi gets attributed in systemd to the process that first starts it, which is usually the reminder daemon. Probably solvable with a systemd unit file for akonadi_control (fixed meanwhile by Nico)
DAV collection loss isusue
- the KIO error handling fix helped, but doesn't fix this entirely
- Kévin found another issue in KDAV where error propagation fails due to some "clever" workaround for some broken server it seems.
QML resource configuration UI
- plugin porting done partially during a GSoC
- how does the current account wizard relate to the new online account system
- online account system would need a "generic email" acount type, which gets the auto-discovery logic from the account wizard
Address auto completion improvements
- default blacklist pattern @noreply|noreply@
- see akonadi-search krunner for more patterns
Sprint Schedule
- December 13/14, 2025
- It's encouraged to show up to the venue on the Friday 12 December afternoon
- Kevin will be already there to greet the early birds, work can be started when enough people show up
Travel Reimbursement
- File a request on https://reimbursements.kde.org/events/222
- The proposed hotel is around 160€ per night.
Attendance
- Kevin Ottens
- Volker Krause
- Ingo Klöcker
- Carl Schwan
- Nicolas Fella
- Florian Richer
- Albert Astals Cid
- Tobias Fella
- Laurent Montel
Hotel
- Plenty of options in the area, this is Paris after all... prices can quickly go up though, the proposed hotel is one of the cheaper ones with proper availability
- Proposed hotel is "Hôtel Chopin": https://hotelchopin-paris-opera.com/
- It's ten minutes by foot from the venue
- Rooms start at 160€ per night, they can accommodate two persons
- There's also a triple room option at 190€ which can accommodate three persons
- They still seem to have availability at time of writing but it's already limited
Fallback hotel options
In case the Chopin is full when you try to book, here are other options:
- Hotel Ronceray, a good option as well, lots of rooms, floating prices though so can turn out cheaper or more expensive than Chopin depending when you book: https://hotelroncerayopera.com/en/
- Hotel Korner Opera, a bit closer to the venue, less rooms (around same size as Chopin), floating prices warning applies: https://en.hotels-korner.com/hotels/hotel-korner-opera
Otherwise you can try to find something in the area by yourself, for instance to keep the price down. Just a word of caution though, if it's under 140€ per night in that area during that time of year, double check it's not a shady place. I thought I managed to get a very good deal once and I regretted it... it was dirty and broken (and I can go on, I can share details another time).
Arrival and departure times
- Kevin will already be in Paris on Monday, stays until the next Monday
- Volker: arrival Friday afternoon (~5pm at Gare de l'Est), return Sunday afternoon (~4pm from Gare du Nord).
- Ingo: Friday noon until Sunday late afternoon
- Carl, Tobias and Nico: arrival Thursday, returning on Monday
- Laurent: Arrival Friday afternoon, return Sunday in afternoon
- Albert: Arrival Friday afternoon, return Monday evening
Restaurants
Loads and loads of options in the area, we'll pick as we feel like.
Report
TBA