hyprlock icon indicating copy to clipboard operation
hyprlock copied to clipboard

Unlocking with fingerprint doesn't reset idle timers

Open dumbasPL opened this issue 7 months ago • 5 comments

Regression?

No

Hyprlock Info and Version

Hyprlock version v0.8.2

Hyprlock config
general {
    hide_cursor = false
    ignore_empty_input = true
    fail_timeout = 1000
    immediate_render = true
}

auth {
    pam {
        enabled = true
    }
    fingerprint {
        enabled = true
        ready_message =
        present_message = Scanning fingerprint
        retry_delay = 1000
    }
}

[styling not relevant, removed for clarity]

Compositor Info and Version

System/Version info
Hyprland 0.49.0 built from branch  at commit 9958d297641b5c84dcff93f9039d80a5ad37ab00  (version: bump to 0.49.0).
Date: Thu May 8 20:15:18 2025
Tag: v0.49.0, commits: 6098
built against:
 aquamarine 0.8.0
 hyprlang 0.6.3
 hyprutils 0.7.1
 hyprcursor 0.1.12
 hyprgraphics 0.1.3


no flags were set


System Information:
System name: Linux
Node name: <redacted>
Release: 6.14.6-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Fri, 09 May 2025 17:36:18 +0000


GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation Meteor Lake-P [Intel Arc Graphics] [8086:7d55] (rev 08) (prog-if 00 [VGA controller])


os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo


plugins:
  split-monitor-workspaces by Duckonaut ver 1.2.0
  hyprexpo by Vaxry ver 1.0

Description

When combined with hypridle, swayidle, or similar for automatic locking when the user is idle, it's possible to immediately get locked out right after unlocking the screen with a fingerprint, since the fingerprint reader doesn't reset the idle time.

How to reproduce

  • Configure your idle daemon to lock after X amount of time
  • Lock the screen manually (for example, with a keybind)
  • Wait for X - 5 seconds
  • Unlock with fingerprint
  • Wait 5 seconds and observe that the screen locks itself right after unlocking.

Crash reports, logs, images, videos

No response

Edit

Not sure where this should be reported, but I'm guessing there is no way to do this nicely at the compositor level, and idle deamons probably want nothing to do with anything besides the idle notify protocol. So my best guess is that hyprlock should somehow notify the compositor that the user isn't idle upon unlocking.

dumbasPL avatar May 25 '25 18:05 dumbasPL

So my best guess is that hyprlock should somehow notify the compositor that the user isn't idle upon unlocking.

I can't think of any way to do this.

vaxerski avatar May 26 '25 17:05 vaxerski

I can't think of any way to do this.

From what I can see (at least in HL), starting and stopping an idle inhibitor should do the trick (CIdleNotifyProtocol::setInhibit calls CExtIdleNotification::onActivity()).

dumbasPL avatar May 26 '25 20:05 dumbasPL

@vaxerski we could just post activity in Hyprland when releasing session lock. Not a clean solution, but I think it would fix it and not cause any problems.

PointerDilemma avatar May 28 '25 06:05 PointerDilemma

~~wdym~~ ah I getchu. It's.... meh, but it's fine I guess. MRs welcome.

vaxerski avatar May 30 '25 13:05 vaxerski

Now that I think about it, it's also technically a security issue. If you unlock with a fingerprint after the idle timer has expired and walk away expecting the machine to lock itself, it never will, since the idle timer won't fire again. Unlikely, but still.

mariuszste avatar May 30 '25 13:05 mariuszste