Bug 458318 - Deprecate `org.kde.kwalletd5` API
Summary: Deprecate `org.kde.kwalletd5` API
Status: REPORTED
Alias: None
Product: frameworks-kwallet
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.97.0
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Valentin Rusu
URL:
Keywords:
Depends on: 458085 458644 459289
Blocks:
  Show dependency treegraph
 
Reported: 2022-08-25 21:39 UTC by michaelk83
Modified: 2024-09-14 09:42 UTC (History)
12 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description michaelk83 2022-08-25 21:39:40 UTC
SUMMARY
Now that https://invent.kde.org/frameworks/kwallet/-/merge_requests/11 has been merged, and KWallet Framework supports the Secret Service API (`org.freedesktop.secrets`) as of 5.97.0, can the entire `org.kde.kwalletd5` API finally be marked as deprecated? This should encourage more KDE apps to migrate to QtKeyChain, which supports both API backends.

SOFTWARE/OS VERSIONS
KDE Frameworks Version: 5.98.0+

ADDITIONAL DETAILS
`org.freedesktop.secrets` is the new standard API supported by GNOME keyring, KeePassXC, and others. See discussion in https://bugs.kde.org/show_bug.cgi?id=313216 and its duplicates.

Early attempts to replace KWallet with `org.freedesktop.secrets` were abandoned due to lack of developer time. This has apparently plagued KWallet since those times, as evidenced also by the difficulty finding reviewers for the above-mentioned MR.

The situation was discussed back in the day on the Plasma-devel mailing list - https://mail.kde.org/pipermail/plasma-devel/2016-July/055641.html - and the consensus seemed to be to migrate the KDE apps to QtKeyChain, which would separate the API from the backend implementation. QtKeyChain added support for `org.freedesktop.secrets` (via `libsecret`) a few months later: https://github.com/frankosterfeld/qtkeychain/pull/62 .

However, there was little incentive for KDE apps to make this migration while the old `org.kde.kwalletd5` API is still around, and it was not possible to remove it while apps are still using it. Now that KWallet supports the `org.freedesktop.secrets` API, the old API can finally be deprecated to encourage the apps to migrate. Then, maybe, it can be dropped completely in KF6.

There is still one migration concern as discussed in https://invent.kde.org/frameworks/kwallet/-/merge_requests/11#note_428272 and its replies, but that should probably be handled by QtKeyChain. I will post on that to their github issues.
Comment 1 michaelk83 2022-09-02 17:51:59 UTC
(In reply to michaelk83 from comment #0)
> There is still one migration concern as discussed in
> https://invent.kde.org/frameworks/kwallet/-/merge_requests/11#note_428272
> and its replies, but that should probably be handled by QtKeyChain. I will
> post on that to their github issues.
Posted Bug 458644 instead. I think that's a better way to handle possible migration needs.
Also marked Bug 458085 as blocking, since it presents a significant usability issue, and one of the workarounds there is disabling the Secret Service API.
Comment 2 michaelk83 2022-09-06 21:22:42 UTC
An interesting thought has occurred to me in Bug 399232: if `org.kde.kwalletd5` is discontinued without porting KWalletManager to Secret Service, then KWallet daemon would be left without a KDE-native front-end (or does KWalletManager talk to the daemon some other way?). This raises the question: should KWalletManager be ported to Secret Service, or should this be taken as an opportunity to write a new, modern KDE front-end for Secret Service?
Comment 3 michaelk83 2022-09-07 19:14:16 UTC
Related: https://github.com/frankosterfeld/qtkeychain/issues/220