You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(ios): honor the startup budget through a cold Simulator boot
A never-booted Simulator runs Apple's first-boot migration, which can take
minutes, but the boot wait was capped at a fixed 120 seconds that neither
`prepare --timeout` nor `open` could reach (#2324).
- The boot wait takes an absolute deadline. `prepare --timeout` now covers the
boot and the runner preparation as one budget; `open --timeout` is new and
bounds the boot. Expiry fails with `boot_timeout` and leaves the Simulator
booting, so a retry finds it further along.
- The client envelope for open/prepare keeps the 30s margin over the budget so
the daemon's structured timeout wins the race against the client's reset.
- `close --shutdown` no longer trusts the session device's selection-time
`booted: false`; it always asks simctl. A session opened on a cold Simulator
otherwise reported a shutdown that never happened.
Supersedes the original implementation of #2325 by @PrinceD96 (head 8bdb85b),
which found the bug, the shutdown shortcut, and the validation recipe.
Closes#2324
Co-authored-by: PrinceD96 <53633741+PrinceD96@users.noreply.github.com>
Copy file name to clipboardExpand all lines: packages/platform-apple/src/readiness/runtime.test.ts
+75Lines changed: 75 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -139,6 +139,45 @@ test('cancellation interrupts simulator bootstatus and schedules cleanup for the
139
139
expect(keepHot).toHaveBeenCalledOnce();
140
140
});
141
141
142
+
test('a startup deadline is one budget shared by simctl boot and bootstatus, and its expiry reports boot_timeout while the Simulator keeps booting',async()=>{
0 commit comments