← Commit history

v0.9.148: guardian arms without an hwnd (the vestigial not-hwnd early-return silently disabled ALL post-verb guards whenever foreground capture returned None - the root of every unguarded gap this weekend)

John Lauer ·e9e6a76801 ·1mo ago ·parent bcc3614
5 files changed +12−8
BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.9.147+0.9.148
adom-bridge-kicad-manifest.json+5−5
@@ -1,15 +1,15 @@ {   "manifest_version": 1,   "name": "kicad",-  "version": "0.9.147",-  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.147/adom-bridge-kicad-v0.9.147.zip",-  "sha256": "527e7f27a30724c00955686b2f98c45e883fdc8855db06b4e84aad3b58f635c5",-  "size": 419197,+  "version": "0.9.148",+  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.148/adom-bridge-kicad-v0.9.148.zip",+  "sha256": "e8cbef9b98554667ef37777118316f6ca38508ce2a6edc3805fd9c5beda8c421",+  "size": 419322,   "verbPrefixes": [     "kicad_"   ],   "healthEndpoint": "/status",-  "released_at": "2026-08-17T14:35:29Z",+  "released_at": "2026-08-17T14:36:47Z",   "hero": "https://wiki.adom.inc/blob/app/kicad-bridge/kicad-hero.png",   "languages": [     "Python",
adom-bridge-kicad-v0.9.148.zipadded
⋯ 1 unchanged line ⋯
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "kicad",   "displayName": "KiCad EDA",-  "version": "0.9.147",+  "version": "0.9.148",   "description": "Reverse bridge for KiCad \u2014 board/schematic introspection, lint via kicad-cli, plugin install, multi-instance probe, in-process DRC.",   "homepage": "https://wiki.adom.inc/adom/adom-bridge",   "author": "Adom Inc.",
handlers/win_focus.py+5−1
@@ -753,7 +753,11 @@ def restore_foreground_persistent(hwnd, seconds: float = 6.0, interval: float =       directly below the user's window, so it doesn't sit painted over their       work even unfocused. Screenshots/PrintWindow keep working on it there.     Non-blocking: returns immediately; the response isn't delayed."""-    if not IS_WINDOWS or not hwnd:+    # 2026-08-17: hwnd is VESTIGIAL post-0.9.104 (the guardian touches only+    # KiCad windows, never the user's) — but `not hwnd` still gated the whole+    # arm, so whenever foreground capture returned None NO guard ever armed+    # and the parking sweep went idle mid-editor-load. Arm regardless.+    if not IS_WINDOWS:         return     import threading     import time as _t