Skip to content

Prevent layout shifts while checking simulators - #9

Merged
eagleoflqj merged 1 commit into
mainfrom
stabilize-progress-buttons
Nov 4, 2026
Merged

eagleoflqj merged 1 commit into
mainfrom
stabilize-progress-buttons

Conversation

@eagleoflqj

Copy link
Copy Markdown
Member

Prevent the check and retry buttons from changing size when their labels switch to “Checking…”, which previously moved adjacent controls in both English and Simplified Chinese.

Add a reusable StableSizeView that lays out all supplied states in a ZStack and displays only the selected state. Inactive states reserve space while remaining unavailable to hit testing and accessibility. Share SimulatorCheckButton across all three discovery/setup views, with each title literal defined once and reused for both display and sizing.

Validation:

  • Release build, strict Swift formatting, and all six CTest checks passed.
  • Native geometry regression test passed 16 combinations covering both languages, check/retry labels, regular/large controls, and 14/24-point fonts. It checks both button bounds and the neighboring button's position.
  • A temporary implementation without reserved space fails that regression test on the first case.
  • Compiler string extraction preserves the existing localization catalog without changes.

@eagleoflqj
eagleoflqj merged commit 0499669 into main Nov 4, 2026
2 checks passed
@eagleoflqj
eagleoflqj deleted the stabilize-progress-buttons branch November 4, 2026 20:21
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