ApolloVibe 2026.6.1-ms4
·
14 commits
to master
since this release
Apollo now leaves a trace when its config fails at startup, and it exits with a nonzero code.
The problem
When the config could not be applied, Apollo logged the reason before its log file existed. Started as a service or injected into a session, it slept about ten seconds and exited with no log. It also exited with code 0, so a supervisor saw a clean exit.
This is #3. It came out of MultiSeat #63, where an unwritable config\ directory caused exactly this.
The fix
- A config failure is now appended to
sunshine-startup-error.lognext tosunshine.exe. If that directory is not writable, the file goes in the temp directory. - A failed config now makes Apollo exit with code 2.
- Exit code 0 stays for
--help, service start and shortcut launch.
Testing
- Runtime test with a control, using a config that fails with a filesystem error:
- This build exited with code 2 and wrote the log, including
Failed to apply config: filesystem error: ...andConfig was not loaded; exiting. - The previous installed build exited with code 0 and wrote no log.
- This build exited with code 2 and wrote the log, including
- Not tested: the ApolloVibe unit tests. The test build already fails on drift in
tests/unit/test_http_pairing.cpp, which this release does not touch.
Limits
- Only config failure paths are covered. Other early exits are unchanged.
- The log has no timestamps and never rotates.
- A service's temp directory is
C:\Windows\Temp. - MultiSeat reads no Apollo exit code, so exit 2 changes nothing there. It shows in ProcessInjector's log.
Install
apollovibe-windows-x64.zip is the complete portable build: sunshine.exe, assets/ and tools/. MultiSeat's installer pulls it from releases/latest/download/ and needs no change.
SHA-256 of sunshine.exe:
CCC693F69F0F7DB12AB10FE22858B064B4DB699A035753BF1A8DAD628DDF3BFF