Repository navigation
iOS simulators boot pinned to Full Screen Apps (iPad capture-trust failures in queues 59 and 60) - #217
Merged
Conversation
…Apps kept the host in the scaled window one scene rotation left, so capture trust's OS screenshot showed the wallpaper
# Conflicts: # packages/parity/test/device-run.test.ts
…t lanes rerun, so the device records await the landing driver's device run)
Contributor
Author
|
Landing stopped at step Fix the cause, then hand #217 back to the landing queue with the new clean head. |
Commands: pnpm regen; pnpm run parity:devices; pnpm regen
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Queue 59 (#214) and queue 60 (#91) failed
judge-deviceswith the same three iPad (A16) capture-trust failures (color-border-sides@2, overflow-hidden-bfc@2, text-wrap-spaces@2). In those failures the OS screenshot showed wallpaper colors ([41,69,139], [2,15,76]) where the app's own capture showed the page.Root cause
The iPad simulator runs iPadOS 26's default multitasking mode, Windowed Apps. In that mode SpringBoard reopens each app at the window size it last kept for the bundle, and it keeps that size across reinstalls, uninstalls and reboots.
#214's device-env lane rotates the host's scene with
requestGeometryUpdateon a portrait iPad. SpringBoard's unified log from queue 59 shows what that did to the host's layout record (SBDisplayItemLayoutAttributes):portrait, FullWidthAndHeight→landscapeRight, FullWidthportrait, {740, 1065}From then on, every launch of
dev.dragon.hostopened as a 740x1065 pt window scaled onto the 820x1180 pt screen, with the wallpaper around it. Master's own app was affected too (reproduced on master's cached build, key f3dc30de…), which is why #91 failed. The in-app record still reports a 1640x2360 px window, so only the OS screenshot shows the problem.Before this change the harness pinned the content size at boot but not the multitasking mode, so it relied on the host never having been resized.
Fix
bootIosnow pins every simulator's SpringBoard to Full Screen Apps (SBMedusaMultitaskingEnabledandSBChamoisWindowingEnabledboth NO).In Full Screen Apps mode the remembered window is ignored. #214's rotation also becomes a real interface rotation: a hand experiment with #214's build gave a 2360x1526 px landscape root, then portrait again, and the trust launch after it was full screen.
No tolerance, check or test changed.
Proof
DRAGON_LEASE=ios /tmp/device-lease.sh pnpm run parity:lanes -- --run-device --target ios) on this branch (origin/master 2c48409 + this commit). Before the run I deleted both pins, so the iPad was still in the broken state with the windowed layout remembered.vitest run packages/parity/test/device-run.test.ts: 38/38, including 2 new tests for the pins and the boot order.packages/parity/test/chrome-ports.test.tsand bothregistry-claims.test.ts: 33/33.pnpm typecheck: pass.🤖 Generated with Claude Code