Skip to content

Fix v0.1.0 crashing at launch (welcome screen layout loop) - #12

Merged
phalladar merged 1 commit into
mainfrom
fix-launch-crash
Oct 3, 2026
Merged

phalladar merged 1 commit into
mainfrom
fix-launch-crash

Conversation

@phalladar

Copy link
Copy Markdown
Owner

Summary

The v0.1.0 download crashes about a second after launch on macOS 27. It's likely to crash on macOS 26 too. It dies with an uncaught NSGenericException:

The window has been marked as needing another Update Constraints in Window pass, but it has already had more Update Constraints in Window passes than there are views in the window.

Cause

Fix

Give the welcome screen's outer frame zero minimum width and height. Its size then no longer feeds into the window's constraints. The banner keeps its .fixedSize text, so nothing truncates.

Testing

Built locally and also stamped as SDK 26.5 to match CI. Launched at four restored window sizes: 800×800, 1200×800, 1800×800 and the 800×500 minimum. Without the fix, every size crashes under SDK 26.5. With it, every size runs, for both builds.

Follow-up: add a launch smoke test to the release workflow so a build that crashes at launch can't be published.

🤖 Generated with Claude Code

The v0.1.0 release, built against the macOS 26.5 SDK, aborts on launch
when the Full Disk Access banner is showing: "The window has been marked
as needing another Update Constraints in Window pass, but it has already
had more Update Constraints in Window passes than there are views in the
window." The banner's wrapping text makes the welcome screen's minimum
height depend on its width, and with the newer SDK that minimum feeds
into the window's constraints, so each pass changes the next one.

Giving the welcome screen zero minimum width and height keeps its size
out of the window's constraints. Local SwiftPM builds record SDK 15.0
and never hit this, which is why it only showed up in the CI build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@phalladar
phalladar merged commit 93e3779 into main Oct 3, 2026
1 check 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.

1 participant