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
{{ message }}
Repository navigation
Commit 6903130
Browse filesBrowse the repository at this point in the historyBrowse files
fix(ios): serve a simulator recording whose recorder died with its daemon (#2736)
* fix(ios): serve a simulator recording whose recorder died with its daemon
A simctl reattach answered `missing` as soon as the recorder process was gone,
which is the ordinary state after daemon loss, so a retried `record stop` threw
`resource-missing` forever even with the recorder's video on disk. The simctl
descriptor now carries the caller-facing export coordinates, so a proven-gone
recorder whose file still passes the container sniff reattaches as a handle that
runs the same stop-and-export sequence the live recording would have run, and
discloses the touch overlay whose events did not survive the daemon.
A manifest written without those coordinates is answered exactly as it was
before, because it cannot name an export it never recorded.
* fix(ios): resume a recovered simulator export from what the first stop journaled
A recorder that died with its daemon proved nothing about the export its file can
still become, and neither did a manifest whose stop had already collected a copy or
journaled a finalization. Reattach decided from the recorder's own path alone, so a
retry after those steps found no file there and reported a loss the manifest
contradicted. It now asks what a resumed stop would still have to read, which the
shared stop sequence answers from the checkpoints the first attempt wrote.
The coordinates a recovered export needs are the caller-facing keys of the live
snapshot, so the facet is a Pick of it, encoded and restored by spread, and validated
by the recording-facts validator Android's descriptor already needed — moved to
capture-kit so both backends answer with the same strictness. A recovered handle
refuses an overlay whose gesture events died with the daemon instead of running the
overlay pass with nothing to burn in and then reporting it unavailable.
* chore(gates): declare the capture-kit recording-facts subpath in the boundary enumeration
0 commit comments