Using MessageComposer to create invitation emails

Volker Krause vkrause at kde.org
Thu Apr 20 16:03:27 BST 2023


On Mittwoch, 19. April 2023 19:21:42 CEST Carl Schwan wrote:
> On Wednesday, 19 April 2023 17:42:33 CEST Daniel Vrátil wrote:
> > Hi all,
> 
> Hi,
> 
> > I'm looking at  bug #297956 [0] - invitation emails from KOrganizer do not
> > honor signing/encryption preferences.
> > 
> > Currently iTip messages are built in MailClient in akonadi-calendar repo,
> > which is a fairly simplistic and straightforward piece of code.
> > 
> > After a brief look at how signing/encryption is implemented in KMail it's
> > obvious that creating signed/encrypted messages requires non-trivial
> > amount
> > of logic and code.
> > 
> > Luckily most of this code and logic lives in  MessageComposer library
> > inside messagelib. It makes a lot of sense to me to reuse this code
> > inside akonadi-calendar to generate signed/encrypted iTip messages with
> > behavior and UI consistent with KMail. However it requires making
> > akonadi-calendar to depend on messagelib, which has non-trivial
> > dependency chain.
> > 
> > What do you folks think about this? Do you think it's OK to introduce this
> > dependency? Or would a simplified sign/encrypt implementation directly in
> > akonadi-calendar suffice?
> 
> We tried in the last PIM sprint to actually reduce the number of
> dependencies in Kalendar which resulted in splitting some libs in a
> core/widget parts and moving some stuff around.
> 
> But Kalendar already depends on mailcommon which depends on messagelib so it
> won't make it worse.

Ironically the impact would be bigger on KOrganizer, which would lose CI 
coverage on Windows (due to gpgme) and FreeBSD for Qt 6 (due to WebEngine).

Short term we can probably live with that, but thinking about where we want 
this to go eventually probably makes sense. Could the crypto-related non-UI 
composing bits go to libkleo maybe, or in their own library inside messagelib?

Also, the messagecomposer > messageviewer dependency looks rather weak, and 
cutting that would already remove half the reason messagecomposer depends on 
WebEngine.

Regards,
Volker

> Regarding the encryption handling in messagecomposer I wish this could would
> not depends on QWidgets as it would simplify a few other things in Kalendar
> as well as make it easier to add to akonadi-calendar. I tried to do that in
> the past but converting all the blocking calls from KMessageBox to be more
> async is a bit complicated.
> 
> Cheers,
> Carl
> 
> > Cheers,
> > Dan
> > 
> > [0] https://bugs.kde.org/show_bug.cgi?id=297956

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20230420/6e887ea5/attachment.sig>


More information about the kde-pim mailing list