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:
Eduardo Escobar
2026-08-13 21:04:47 +02:00
committed by GitHub
co-authored by Claude Opus 5
parent 5c51ad6d54
commit f73740ff07
2 changed files with 39 additions and 3 deletions
+6 -3
View File
@@ -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()
}