From ad2e725d523297a3fc1654a6ce79270a87586aaf Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Sun, 26 Jul 2026 15:19:19 +0200 Subject: [PATCH] Pin gatelock 0.2.1 for the recovery-loop fail-open fix 0.2.0's recovery loop scheduled the next tick after running it, so any exception out of a tick permanently ended all re-assertion of coverage, grab and VT for the rest of the lock -- silently, since Tk logs and swallows exceptions from `after` callbacks. 0.2.1 moves the reschedule into a `finally`. Also in 0.2.1: `holds_grab` no longer reads a grab held by one of our own transient children (a posted menu) as "the grab was lost" and takes it back. wake-alarm has no popup widgets on its lock surfaces, so that half is insurance rather than a fix here. Co-Authored-By: Claude Opus 5 (1M context) --- pyproject.toml | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3277ede..ff9ce94 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ version = "1.0.0" description = "Phone-driven wake alarm with fan ramp and smart-plug control" requires-python = ">=3.10" dependencies = [ - "gatelock @ git+https://github.com/kuhyx/utils@gatelock-v0.2.0#subdirectory=gatelock", + "gatelock @ git+https://github.com/kuhyx/utils@gatelock-v0.2.1#subdirectory=gatelock", "python-kasa>=0.7", ] diff --git a/requirements.txt b/requirements.txt index bc119ad..4a09fc6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ bandit>=1.7.0 codespell>=2.2.0 coverage>=7.4.0 -gatelock @ git+https://github.com/kuhyx/utils@gatelock-v0.2.0#subdirectory=gatelock +gatelock @ git+https://github.com/kuhyx/utils@gatelock-v0.2.1#subdirectory=gatelock mypy>=1.8.0 pre-commit>=3.6.0 pylint>=3.0.0