diff --git a/README.md b/README.md index 0a64ae50..430efbfd 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,8 @@ New-ItemProperty -Path HKLM:\SOFTWARE\OpenSSH -Name DefaultShell -Value 'C:\Prog Then pair as above with `python herdr-push pair`. For a user in Administrators, Windows' sshd reads keys from `C:\ProgramData\ssh\administrators_authorized_keys`, so run `pair` in a terminal opened as administrator too (or add the key there by hand). +For notifications, the PC has to be awake and signed in: the watcher runs in your signed-in session, and herdr-push needs a Python 3 there (the app finds `python3`, `python` or `py -3`, and skips the Microsoft Store's stand-in). See [Notifications while the app is closed](#notifications-while-the-app-is-closed). + Machines reachable only through another one can use it as a jump host ("Connect through"). For zero-touch or read-only machines, **Allow host scripts** (on by default) can be turned off so the app skips copying its helper scripts (`herdr-usage`, `herdr-logins`, `herdr-push`) there. From a machine's menu, **Import herdr machines** adds the machines its herdr already knows (`herdr machine list`). ## How it talks to herdr @@ -218,6 +220,8 @@ Two ways in, both on every machine the app knows: Each state is shown once, however it arrives, and comes down again when it is over (answered on the desktop, the agent back at work). The switch next to a machine in Settings leaves it out. +**On a Windows PC** the app sets herdr-push up the same way, with no administrator rights: a `Run` entry under your user starts it when you sign in, and a scheduled task of yours starts it right away in your desktop session. It reads the Herdr desktop app's herdr-core (where one runs), RAM, CPU, drives and the biggest processes, and tells the phone how long ago you last used the keyboard or mouse and whether the session is locked. The PC has to be awake and signed in: with nobody signed in, herdr-push's install says so (and its `status` shows `interactive: false`), and it starts with the next sign-in. The phone needs ntfy (or another UnifiedPush app), as for any machine. Classic herdr, Shepherdr and App change are not there. + ### What reaches the phone **Settings → Notifications → What reaches the phone** has a switch for each kind: **Needs you** (an agent asks, a machine runs low), **Finished** (an agent ended its turn), **Went wrong** (a review or a check failed) and **Limits** (an AI provider at 80% or 95% of a limit or out of it; see Usage and limits). Finished is off unless you turn it on: a ping for every finished turn teaches you to ignore the ones that matter. What is switched off isn't shown, and turning it on later starts from then. diff --git a/core/src/test/kotlin/com/makefunstuff/herdr/core/PushTest.kt b/core/src/test/kotlin/com/makefunstuff/herdr/core/PushTest.kt index cdcdf2b7..cf8de857 100644 --- a/core/src/test/kotlin/com/makefunstuff/herdr/core/PushTest.kt +++ b/core/src/test/kotlin/com/makefunstuff/herdr/core/PushTest.kt @@ -217,7 +217,7 @@ class HerdrPushTest { @Test fun bundledScriptIsTheOneInHost() { assertEquals(script.readText(), HerdrPush.script) - assertEquals("12", HerdrPush.version) + assertEquals("13", HerdrPush.version) } @Test diff --git a/host/herdr-push/README.md b/host/herdr-push/README.md index 7b70f792..427a75fc 100644 --- a/host/herdr-push/README.md +++ b/host/herdr-push/README.md @@ -36,6 +36,21 @@ A machine that is offline is set up the next time the app connects to it. Machin The app also **looks at its machines itself** while it is closed (every 15 minutes by default; Settings → Notifications → The app also looks), with an exact alarm. That covers a machine without python3, or a push that got lost. Pushes arrive within seconds; the app's own looks only as often as you set. +## On Windows + +herdr-push runs on a Windows PC with Git Bash under OpenSSH Server (see the README's "A Windows machine"), with Python 3.6 or newer. The app installs it as it does elsewhere; by hand, `python herdr-push install` does the same. + +It starts without administrator rights, in two ways: + +- A `Run` value under `HKCU\Software\Microsoft\Windows\CurrentVersion\Run`, `"" "