Sync the self-hosting stack
This commit is contained in:
@@ -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
|
||||
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`
|
||||
|
||||
**Remote desktop opens.** **Agents** → a Windows machine → **Watch the screen**, and you see its
|
||||
|
||||
Reference in New Issue
Block a user