← Commit history

v1.3.6 (insiders): grok_list_windows lists only Grok Bot windows (it returned every desktop window when Grok Bot was hidden), and a hidden main window reports main_window_hidden even with no stray window visible.

John Lauer ·55926359fa ·5d ago ·parent 96c6a23
3 files changed +15−5
BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.3.5\ No newline at end of file+1.3.6\ No newline at end of file
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "grok",   "displayName": "Grok Bot",-  "version": "1.3.5",+  "version": "1.3.6",   "description": "Drive Grok Bot (standalone Electron app, Grok Bot.exe) from Adom Bridge: open/close/resize/screenshot/record the app, read thinking vs idle and the visible transcript of the focused thread, queue messages, bind the Grok Bridge webhook and create bots/channels. No public Grok HTTP API \u2014 the runtime talks back to ab over desktop_* callbacks. Cursor is last-resort fallback only if Grok Bot.exe is missing.",   "homepage": "https://wiki.adom.inc/adom/grok-bridge",   "author": "Adom Inc.",
handlers/windows.py+13−3
@@ -273,7 +273,10 @@ def collect_grok_windows(title_contains: str | None = None) -> tuple[list[dict],         windows.extend(_as_windows(blob))      def _hosts() -> list[dict]:-        return [w for w in windows if not _is_host_impostor(_title_of(w))]+        # Title must actually name the host: ab's desktop_list_windows can ignore+        # titleContains and return every window on the desktop.+        return [w for w in windows+                if not _is_host_impostor(_title_of(w)) and _title_rank(_title_of(w)) < 9]      for needle in needles:         needle = (needle or "").strip()@@ -369,8 +372,15 @@ def grok_hwnd(*, allow_cursor: bool = True) -> tuple[int | None, dict | None]:   def main_window_state() -> dict:-    """Fields for callers when no main window is visible."""-    return {"mainWindowHidden": bool(LAST_PICK.get("mainWindowHidden")),+    """Fields for callers when no main window is visible. Hidden = only strays visible, or+    no window at all while Grok Bot runs and a main hwnd is remembered (grok_close hides it)."""+    hidden = bool(LAST_PICK.get("mainWindowHidden"))+    if not hidden and remembered_main_hwnd():+        try:+            hidden = bool(_grok_bot_running())+        except Exception:+            hidden = False+    return {"mainWindowHidden": hidden,             "strayWindows": LAST_PICK.get("strays") or [],             "rememberedMainHwnd": remembered_main_hwnd()}