Bug 504693

Summary: UX: "Use KWallet for the Secret Service interface" setting is not immediately applied
Product: [Applications] kwalletmanager Reporter: michaelk83 <mk.mateng>
Component: generalAssignee: Valentin Rusu <valir>
Status: REPORTED ---    
Severity: wishlist    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=504709
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description michaelk83 2025-05-23 09:44:57 UTC
SUMMARY
Toggling the "Use KWallet for the Secret Service interface" setting has no effect until ksecretd is (manually) restarted.

STEPS TO REPRODUCE
1. Enable KWallet, and set up a default wallet (I used Blowfish).
2. Check org.freedesktop.secrets DBus status with `busctl --user status org.freedesktop.secrets`.
3. In the KWallet settings, toggle the "Use KWallet for the Secret Service interface" checkbox (Apply/OK).
4. Check org.freedesktop.secrets DBus status again.

OBSERVED RESULT
No change in org.freedesktop.secrets DBus status is observed until ksecretd is restarted. ksecretd is NOT restarted automatically.

EXPECTED RESULT
- org.freedesktop.secrets should be immediately freed when the setting is disabled.
- org.freedesktop.secrets should be immediately activated when the setting is enabled (unless already occupied).
- Bonus: show a warning in the GUI if org.freedesktop.secrets is occupied by a 3rd party process.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Neon User Edition 20250511-0744 (live DVD)
KDE Frameworks Version: 6.14

ADDITIONAL INFORMATION
As of KDE Frameworks Version 6.14, there's an experimental option to use a 3rd party Secret Service with KWallet, as explained in https://notmart.org/blog/2025/04/towards-a-transition-from-kwallet-to-secret-service/ . However the transition is not smooth.

One of the sticking points with KeePassXC is that it refuses to enable its own Secret Service while the org.freedesktop.secrets DBus is occupied (the relevant setting is disabled), for good reason. Currently, ksecretd must be manually stopped to free this bus address. This makes the transition from ksecretd to KeePassXC more clunky.