Skip to content

Say Not supported only for a Mac model the installer refuses - #44

Merged
scottjones merged 1 commit into
omacom:mainfrom
joshuaswarren:fix/support-badge-only-for-refused-models
Oct 8, 2026
Merged

scottjones merged 1 commit into
omacom:mainfrom
joshuaswarren:fix/support-badge-only-for-refused-models

Conversation

@joshuaswarren

Copy link
Copy Markdown
Contributor

The header says Not supported only when the installer refuses the Mac model.

What happened

On a 14-inch M2 Max (apple,j414c, status: enabled in the signed edge catalog) installer 2.0.10 showed APPLE M2 MAX · 426 GB FREE · NOT SUPPORTED · EDGE above "Omarchy is already installed". The only problem was an older install still on the disk. After Remove Omarchy, the same Mac showed SUPPORTED.

On main the header still badges every .existingInstallRefused and every .unsupported page as Not supported. That includes too little space and a Mac the installer couldn't inspect.

Change

  • InstallerSession.modelSupported decides the badge. It is false only for a refused model (isBlockedModel: blocked, or missing from the catalog). An existing install or a space shortfall on a supported Mac gives true. A stop where the installer couldn't tell gives nil, and the header shows no support badge.
  • OnePageInstallerView renders that value. Its private isBlocked is removed.

Tests

testHeaderSaysNotSupportedOnlyForARefusedModel checks 7 cases. With the old rule moved into the session unchanged, 4 fail: existing install on a supported Mac, existing install where the engine couldn't tell, too little space, and not ready. With this change all 7 pass.

Run on an M1 Ultra Mac Studio (Mac13,2), macOS 26.6.2, Xcode 27.0, Swift 6.4:

  • xcrun swift-format lint --strict --recursive Package.swift Sources Tests: clean
  • swift test: 148 + 3 + 519 + 8 tests, 0 failures (1 existing skip)
  • swift test -c release: 137 + 3 + 519 + 5 tests, 0 failures
  • ./test/all on Linux: passed

I didn't capture a screenshot of the new header on a Mac with an existing install.

On a 14-inch M2 Max (apple,j414c, enabled in the signed edge catalog)
installer 2.0.10 showed APPLE M2 MAX · 426 GB FREE · NOT SUPPORTED
because an older Omarchy install was still on the disk. The header badged
every existing-install page and every stop before the welcome page as Not
supported, including too little space and an engine that couldn't run.
The same Mac read SUPPORTED as soon as the old install was removed.

The session now decides the badge. Not supported means the model was
refused (blocked, or missing from the catalog). An existing install or
too little space on a supported Mac says Supported, and a stop where the
installer couldn't tell shows no support badge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@joshuaswarren
joshuaswarren marked this pull request as ready for review October 6, 2026 18:01

@scottjones scottjones left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed and verified locally on macOS: swift-format lint --strict is clean, and all 59 InstallerSessionTests pass, including testHeaderSaysNotSupportedOnlyForARefusedModel. It also matches what I saw on an M3 Air: Not supported over an existing install, then Supported after removing it. Thanks!

@scottjones
scottjones merged commit dbb53de into omacom:main Oct 8, 2026
3 checks passed
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.

2 participants