Blank the lock screen while the fingerprint reader waits (#6817)
The blank timer was gated on `authenticating`, which is `authenticatingPassword || fingerprintAuthenticating`. The fingerprint PAM sits armed for the entire lock waiting for a finger, so on any machine with a reader enrolled the gate is true from lock until unlock: the timer is stopped when the lock begins and never re-armed, and the display stays lit indefinitely. Gate on `authenticatingPassword` instead. A password check in flight still holds the display up, and the passive fingerprint wait no longer does. Claude-Session: https://claude.ai/code/session_01EDpyC9793TKZBS2jXUNECG Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
5c51ad6d54
commit
f73740ff07
@@ -424,7 +424,10 @@ Item {
|
||||
root.armBlankTimer()
|
||||
return
|
||||
}
|
||||
if (root.lockRequested && !root.authenticating) root.runBlank()
|
||||
// Only a password check in flight should hold the display up. The
|
||||
// fingerprint PAM stays armed for the whole lock, so gating on
|
||||
// `authenticating` here would keep the panel lit until unlock.
|
||||
if (root.lockRequested && !root.authenticatingPassword) root.runBlank()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -472,9 +475,9 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
onAuthenticatingChanged: {
|
||||
onAuthenticatingPasswordChanged: {
|
||||
if (!lockRequested) return
|
||||
if (authenticating) idleBlankTimer.stop()
|
||||
if (authenticatingPassword) idleBlankTimer.stop()
|
||||
else armBlankTimer()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user