https://bugs.kde.org/show_bug.cgi?id=528023
Bug ID: 528023
Summary: Fingerprint authentication in kscreenlocker
reactivates in an infinite loop when sensor timesout
Classification: Plasma
Product: plasmashell
Version First 6.8.2
Reported In:
Platform: EndeavourOS
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Screen locking
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: 1.0
Created attachment 197815
--> https://bugs.kde.org/attachment.cgi?id=197815&action=edit
stock-problem
DESCRIPTION
When I use the new fingerprint sensor menu in plasma 6.8 lock screen after it
times out the message resets the UI so it tries to authenticate again in an
infinite loop. After repeated retries, my fingerprint reader sometimes stops
responding, this is especially problematic because the lock screen remembers
the last login option so when I lock my pc most of the times the fingerprint
breaks.
STEPS TO REPRODUCE
1. Lock screen
2. Interact so the UI appears.
3. Select fingerprint as the authentication method.
4. Leave the screen untouched until it times out.
OBSERVED RESULT
The UI fades away and immediately re-appears with the failure messages and
attempts to authenticate again.
EXPECTED RESULT
The UI should stay hidden after fingerprint authentication times out and should
not continually restart verification without user interaction.
SOFTWARE/OS VERSIONS
Operating System: EndeavourOS
KDE Plasma Version: 6.8.2
KDE Frameworks Version: 6.31.0
Qt Version: 6.12.0
ADDITIONAL INFORMATION
My pam configuration is: pam_fprintd.so max-tries=3 timeout=10
I use Chipsailing CS9711 reader with custom libfprint driver
I attempted to patch it myself with a very minimal patch. I’m not sure whether
this is the correct approach or suitable for an MR but it fixes the problem for
me:
--- a/desktoppackage/contents/lockscreen/LockScreenUi.qml
+++ b/desktoppackage/contents/lockscreen/LockScreenUi.qml
@@ -51 +51,3 @@ Item {
- lockScreenRoot.uiVisible = true
+ if (authenticator.authenticator !==
ScreenLocker.Authenticators.Fingerprint) {
+ lockScreenRoot.uiVisible = true;
+ }
@@ -68 +70,3 @@ Item {
- authenticator.startAuthenticating();
+ if (lockScreenRoot.uiVisible || authenticator.authenticator !==
ScreenLocker.Authenticators.Fingerprint) {
+ authenticator.startAuthenticating();
+ }
@@ -167 +171,3 @@ Item {
- authenticator.startAuthenticating();
+ if (uiVisible || authenticator.authenticator !==
ScreenLocker.Authenticators.Fingerprint) {
+ authenticator.startAuthenticating();
+ }
I'll attach the videos of before and after.
--
You are receiving this mail because:
You are watching all bug changes.