From 99f7c86c724fbc69ba343da2dd7646fafb2d7faa Mon Sep 17 00:00:00 2001 From: vibesoftwarecoder Date: Wed, 21 Oct 2026 08:41:38 -0500 Subject: [PATCH] Release 0.6.22 Bump version.txt and add the 0.6.22 notes. - #118 - #119 - #121 - #123 - Known issue: #124 Co-Authored-By: Claude Sonnet 5.5 --- docs/release-notes/0.6.22.md | 44 ++++++++++++++++++++++++++++++++++++ version.txt | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 docs/release-notes/0.6.22.md diff --git a/docs/release-notes/0.6.22.md b/docs/release-notes/0.6.22.md new file mode 100644 index 0000000..b4e33e1 --- /dev/null +++ b/docs/release-notes/0.6.22.md @@ -0,0 +1,44 @@ +**This release starts each seat's Apollo console window minimized, makes the installer stop with a clear message when an isolated Steam is holding its files, and removes a wrong audio warning from the installer on default hosts.** + +## What was happening + +- **The seat's Apollo console window opened on the seat desktop** (issue #120). Each seat's Apollo was started with a new console and `SW_SHOW`, so a `sunshine.exe` window sat on the seat's screen. +- **An upgrade failed when an isolated Steam was running** (issue #117). The helper files under `SteamIsolation\` were in use, and the installer failed instead of saying why. +- **The installer printed a wrong audio warning** (issue #122). On a `PerSession` host without VoiceMeeter it said seats "will have no audio". `PerSession` is the default and needs no VoiceMeeter, so the note was wrong. If VoiceMeeter was installed, the installer started it for nothing. + +## What changes + +- **The seat's Apollo console starts minimized** (#121). Apollo is now launched with `SW_SHOWMINNOACTIVE`, the same way the console-session Apollo already was. The creation flags are unchanged, so the console still exists and `GetConsoleWindow()` is still non-NULL. Apollo uses that to choose how Restart and Quit behave, so those keep working from Apollo's web UI. Only Apollo is affected. Games and the supervised Steam launch still use `SW_SHOW`. +- **The installer checks for an isolated Steam before it stops the service** (#118). It tries to open each helper file under `SteamIsolation\` for exclusive write access. If any is held, it names the processes that hold it and stops. The message says the service was not stopped and gives the command that shuts down an isolated Steam. It does not close Steam for you. If nothing is held, nothing changes. +- **The VoiceMeeter step runs only on `SharedHost`** (#123). The installer reads the effective `AudioMode` from the existing install folder (`appsettings.local.json` over `appsettings.json`). A missing or unreadable value means `PerSession`, like the service. `PerSession` prints one line saying VoiceMeeter is not needed. `SharedHost` behaves as before. +- **Dashboard toolchain:** `vite` moves from 6.4.3 to 6.4.4 in the lockfile (#119). This clears three `launch-editor` advisories from `npm audit`. `vite` is a dev dependency and is not part of the shipped dashboard. + +## How this was checked + +**The minimized window, live.** On a live seat on 2026-10-21 the Apollo console window started minimized. Restart and Quit from Apollo's web UI both worked. The seat streamed the desktop and a game. This ran on a build of 0.6.21 plus #118, #119 and #121. + +**The installer changes, by tests only.** The Steam check has unit tests that hold a file open to show the check blocks and then clears, and that a blocked check never reaches the stop step. The audio-mode decision has tests for precedence, comments, a byte order mark, garbage and locked files. Both run under Windows PowerShell 5.1 and PowerShell 7. The dashboard audit exits 0 after a clean `npm ci`. + +**Not verified:** the Steam check (#118) has **not been tested against a real isolated Steam** on a live host. The installer output for #123 was not run on a host with VoiceMeeter present or absent. + +## Known limitations + +- **After Restart from Apollo's web UI, two Apollo processes can be left running on a seat** (issue #124). The stream and game worked, but the service tracked one process and the stream came from the other. It is not known yet whether this started with this release or is older. Quit from the web UI closes only one of them. +- **On at least one host the scale override is still ignored** (issue #93). This release does not change that. +- Seats capture the remote desktop surface, not a dedicated virtual display. A Windows constraint, not a regression. +- Steam isolation is experimental and off by default. + +## Install + +```powershell +.\prerequisites\install-prerequisites.ps1 # drivers - needed either way +.\scripts\install-service.ps1 -FromZip . +``` + +Afterwards, confirm what landed: + +```powershell +& 'C:\Program Files\MultiSeat\MultiSeat.Service.exe' --config +``` + +It should report `0.6.22`. diff --git a/version.txt b/version.txt index 33ac520..d15dfad 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.6.21 +0.6.22