Sync the self-hosting stack

This commit is contained in:
2026-10-01 10:26:09 +02:00
parent b8cf169331
commit 5e1ece7cba
+57
View File
@@ -9,6 +9,63 @@ one of them changed. An entry says which artefact and which version, so `web 0.1
Every version published to a channel appears here. Nothing is written from memory afterwards: a build Every version published to a channel appears here. Nothing is written from memory afterwards: a build
cannot be published without its entry. cannot be published without its entry.
## 2026-10-01 — Remote desktop, fixed: control, RDP sessions and the sign-in screen `web 0.143.0` `agent 0.29.0`
**Three things `agent 0.28.0` promised did not work on real machines, and this release is the fix for
all three.** The entry below this one describes them as working. They did not, and we found out from
the first customer machines rather than before shipping. Update your agents; the server needs nothing.
**Control works now. In `0.28.0` it never did, on any machine.** With control granted the viewer said
"You have control", the picture was live, and every click and keystroke was refused by Windows with
"Access is denied". The agent attached to the person's desktop without the one access right Windows
checks before it accepts synthetic input. Reading the screen does not need that right, which is why
everything else looked fine. `0.29.0` asks for it, on the thread that types and on no other.
**Watching a Remote Desktop (RDP) session works now. In `0.28.0` it never did.** Every attempt ended
in a fraction of a second with "The banner naming you could not be shown on this machine". The agent
took the screen's number from a display Windows invents for background services, and an RDP session
numbers its screens differently, so the notice was never drawn and nothing was captured. Physical
consoles happened to match, which is why laptops worked. The screen now comes from the session that
is about to be watched. If a machine cannot settle on a screen at all, the session ends with "The
machine could no longer capture its screen" and the reason, instead of a notice that never appeared.
**A machine nobody is signed in to can be watched — and signed in to.** In `0.28.0` it ended with
"There is no desktop session to watch on this machine". Windows does not count a console waiting at
its sign-in screen as an active session, and the agent required an active one. That console is now
what you are shown when nobody is signed in, and it is also the way in to a machine whose owner
closed their RDP window. The notice stands on the sign-in screen as it does everywhere else, and you
sign in by typing into it. Once somebody signs in, the notice moves to their desktop, and the picture
waits until it is standing there. What is still never followed is a person who is already signed in
going to their lock screen or a UAC prompt: the picture pauses there, as before.
**The agent now sets `SoftwareSASGeneration` on a machine where it is not set — this reverses the
`0.28.0` note below.** A domain-joined machine, and any Windows Server, asks for `Ctrl`+`Alt`+`Del` on
its sign-in screen, and Windows lets a service send it only when this policy allows services. When a
remote-desktop session opens on a machine where the value does not exist at all, `agent 0.29.0`
writes `3` — services, plus the accessibility applications an absent value already allows — and logs
a line saying so in the Windows Application log, source `JarvisAgent`. The limits:
- A value that exists is never changed. That includes `0`, a value of the wrong type, and anything a
Group Policy wrote; a Group Policy configured later overwrites ours on its next refresh.
- Machines that are never opened in remote desktop are never touched. Installing or updating the
agent writes nothing.
- It is `3`, never `1`: `1` would add services and close the accessibility path Windows leaves open.
- Either value lets every service on the machine send the sequence, not only ours.
If you do not want that, give the value an answer before anybody watches the machine. `0` forbids
everyone, Jarvis included, and the control is then hidden. Across a domain, the Group Policy
"Disable or enable software Secure Attention Sequence" set to _None_ does the same.
**What the agent sees now reaches its own log.** The agent's helper already recorded which screen it
chose, which desktop it attached to and why Windows refused an input, and `0.28.0` threw all of it
away. That is how the three failures above shipped without a trace. It now goes to the agent's log —
on Windows the Application event log, source `JarvisAgent` — one line per event, prefixed with the
session's id, at most 200 lines per session.
**`web 0.143.0`** only corrects one sentence. It is shown when a signed-in person moves to a Windows
security screen, and it said Windows forbids capturing those screens. It does not; the banner naming
you simply cannot follow them there.
## 2026-10-01 — Remote desktop: watch a Windows machine, and take the mouse `api 0.117.0` `web 0.142.0` `agent 0.28.0` ## 2026-10-01 — Remote desktop: watch a Windows machine, and take the mouse `api 0.117.0` `web 0.142.0` `agent 0.28.0`
**Remote desktop opens.** **Agents** → a Windows machine → **Watch the screen**, and you see its **Remote desktop opens.** **Agents** → a Windows machine → **Watch the screen**, and you see its