Skip to content

Store Skip launcher in the VM workspace - #310

Merged
themartiano merged 1 commit into
mainfrom
codex/workspace-startup-preference
Oct 2, 2026
Merged

themartiano merged 1 commit into
mainfrom
codex/workspace-startup-preference

Conversation

@themartiano

Copy link
Copy Markdown
Collaborator

What changed and why

Deleting the VM workspace previously left Skip launcher enabled in macOS preferences. Store the choice in a versioned launcher-settings.json file in the selected VM workspace, defaulting to off when the file is missing or invalid. Always show the launcher when there is no existing VM disk, including disposable sessions, even if a settings file remains.

Ignore the old UserDefaults value, so existing users must enable Skip launcher again. Custom locations and environment overrides select their own setting; release and development apps sharing a workspace share the choice. Choices made before first launch are retained after the storage backend initializes the workspace, keeping empty custom folders usable. Save errors restore the toggle and explain the failure.

Testing

  • swift test --package-path macos --disable-sandbox --filter 'StartupPreferenceStoreTests|StartMenuStartupTests|GuestBootFixTests': passed, 22 tests across 3 suites (with repository-local Swift/Clang module caches).
  • make test: passed on Apple Silicon macOS, including 408 Swift tests and the guest, contract, shell, and disk-resize suites. The initial sandboxed run failed local socket tests with Operation not permitted; the unrestricted rerun passed.
  • git diff --check: passed.
  • No manual VM boot or packaged-app launch was performed; AppKit tests cover startup confirmation, toggle rollback, and save-error presentation.

@themartiano
themartiano merged commit 82927e9 into main Oct 2, 2026
4 checks passed
@themartiano
themartiano deleted the codex/workspace-startup-preference branch October 2, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant