Skip to content

fix(session): start one lockscreen at a time - #19

Open
perlowja wants to merge 1 commit into
singularityos-lab:mainfrom
perlowja:pr/lockscreen-single-instance-20261017
Open

perlowja wants to merge 1 commit into
singularityos-lab:mainfrom
perlowja:pr/lockscreen-single-instance-20261017

Conversation

@perlowja

Copy link
Copy Markdown
Contributor

Every lock_screen() call spawned another singularity-lockscreen, so an idle lock and a ScreenSaver.Lock arriving together started two lock clients. Keep the spawned client and ignore further requests while it runs. The state is exposed as a read-only locked property.

New test /power/lock-screen-single-instance: two calls start one client, a call after it exits starts another. On Debian forky (with #16 and #17 applied so main builds): 48 of 49 pass; spell-integration aborts the same way on main in the container.

@mirkobrombin for review when you have a moment.

AI assistance: disclosed

Every lock_screen() call spawned another singularity-lockscreen, so an idle
lock and an org.freedesktop.ScreenSaver.Lock request arriving together ran two
lock clients at once. Keep the spawned client and ignore further requests
while it runs, and expose that state as the read-only locked property.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: tracked the spawned lockscreen subprocess in SessionManager.lock_screen() and added a power_test case for repeated lock requests.
(cherry picked from commit 1b0266c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant