Skip to content

ApolloVibe 2026.6.1-ms4

Choose a tag to compare

@vibesoftwarecoder vibesoftwarecoder released this 25 Sep 14:14
· 14 commits to master since this release
57a1f6a

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.log next to sunshine.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: ... and Config was not loaded; exiting.
    • The previous installed build exited with code 0 and wrote no log.
  • 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