diff --git a/games.monsterrobot.flowrinse.plist b/games.monsterrobot.flowrinse.plist
index f212596..58945eb 100644
--- a/games.monsterrobot.flowrinse.plist
+++ b/games.monsterrobot.flowrinse.plist
@@ -21,6 +21,13 @@
/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
+
+ AbandonProcessGroup
+
+
RunAtLoad
diff --git a/install.sh b/install.sh
old mode 100644
new mode 100755
diff --git a/launch.sh b/launch.sh
index 330df26..24c24c2 100755
--- a/launch.sh
+++ b/launch.sh
@@ -32,10 +32,13 @@ fi
# 2. open or focus ONE Flow tab (reuses an existing one so it can't double-run).
# Only `activate` (steal system focus) when opening fresh — on the 10-min launchd
-# tick an existing tab is re-selected inside Brave without yanking you out of
+# tick an existing tab is re-selected inside the browser without yanking you out of
# whatever you're doing. Selecting the tab also keeps Memory Saver from discarding it.
+#
+# Must name the browser the EXTENSION is loaded into. ultra = Brave, m3ultra = Chrome.
+BROWSER="${FLOW_BROWSER:-Brave Browser}"
osascript < if a remote box
+ # must enqueue — a tailnet IP is routed over utun, so the LAN still can't reach it.
+ # Never set it back to "" / 0.0.0.0.
+ host = os.environ.get("FLOW_BIND", "127.0.0.1")
+ print(f"--- Flow queue on http://{host}:{port} ---")
print(f"queue: {QUEUE_FILE if os.path.exists(QUEUE_FILE) else '(demo — no queue.jsonl)'}")
print(f"pending: {sum(1 for t in load_queue() if t['id'] not in done_ids())}")
- HTTPServer(("", port), Handler).serve_forever()
+ HTTPServer((host, port), Handler).serve_forever()
if __name__ == "__main__":
import sys