wait: account startup and readiness separately from observation time, and say when infrastructure prevented any observation
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 50/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- ios, typescript
- Ambito
- mobile-dev, testing-qa
Direzione di ricerca
Inizia dal ciclo di attesa e confronta il suo comportamento con #2331, #2325, #2329 e #2113; i log delle richieste citati in ios-artifacts mostrano le fasi di startup e capture da tracciare. Esegui un iOS Smoke wait dopo un’apertura a freddo e verifica che readiness e il tempo di osservazione vengano riportati separatamente, e che i fallimenti con osservazione pari a zero bloccati dall’infrastruttura siano distinti da wait_capture_stalled.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens today
wait <target> <timeoutMs> charges its whole budget to whatever the polls cost, including work that is ours rather than the app's: the XCTest runner's first command on a freshly launched app, runner start or restart, and AX-bridge target discovery. The deadline also cancels the poll in flight, so a first poll that costs more than the budget ends with zero completed observations.
Four iOS Smoke runs since 2026-09-05 21:00 show it on the first wait text "Agent Device Tester" after a cold open --relaunch (wait_capture_stalled, readableCaptures: 0):
- main
80997b6b: https://github.com/callstack/agent-device/actions/runs/33992502696 - main
f30328d0: https://github.com/callstack/agent-device/actions/runs/34014253127 - PR #2326: https://github.com/callstack/agent-device/actions/runs/34015120372
- branch
fix/2314-memoize-platform-runtime-la: https://github.com/callstack/agent-device/actions/runs/34016148244
Request log of the third run (sessions/ios-e2e-smoke-14ax/requests/45ad58af8fd6970d.ndjson in ios-artifacts):
| phase | cost |
|---|---|
runner findText on the just-launched app |
5.8s |
AX-bridge target discovery, xcrun timed out after 3000ms |
3.4s |
| fallback XCTest snapshot | cancelled at the 10s deadline |
An earlier instance of the same accounting, before #2279, is https://github.com/callstack/agent-device/actions/runs/33984867542 (sessions/ios-e2e-smoke-ohv/requests/6af0b46614602883.ndjson): the runner stopped accepting connections mid-wait, the daemon invalidated and relaunched it, and the wait was cancelled 0.7s after xcodebuild started, reported as wait_capture_stalled rather than a runner restart because the cancelled capture carried no restart evidence.
#2331 takes the discovery probe off the per-capture critical path. #2325 gives open its own startup budget. Neither changes what a wait budget pays for.
What to change
- Account startup and readiness time (runner start, runner restart, target discovery, first-command warm-up) separately from observation time in the wait loop, and surface both in the failure details.
- Keep one overall deadline and cancellation. A hung capture must still end at the deadline, so this is not a guarantee of "at least one completed observation".
- When infrastructure prevented any observation before the deadline, say so explicitly with its own reason or typed detail, distinct from "the device gave no readable picture", and keep
wait_capture_stalledfor the latter. - Decide whether readiness time should extend the observation window (bounded, once) or only be reported. The report is the prerequisite either way.
Related
- #2331 discovery probe off the critical path
- #2325
openstartup deadlines - #2329 observation runner-free, launch grace
- #2113 runner restart evidence on wait timeouts
- Lingua principale
- TypeScript
- Stelle
- 4.7k
- Fork
- 304
- Merge medio
- 11h 31m
- PR unite (30g)
- 513
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di callstack/agent-device
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
callstack/agent-device#2998 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
callstack/agent-device#2995 ·
I maintainer di solito rispondono entro 1 giorno
-
Proxy lease refuses every iOS install/open: connection platform 'ios' compared with internal 'apple'Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
callstack/agent-device#2962 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
callstack/agent-device#1869 ·
I maintainer di solito rispondono entro 1 giorno
-
Maestro `eraseText` fails on real Android devices: `test` and `replay` cannot opt in to the test IMEAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
callstack/agent-device#2997 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di callstack/agent-device
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
StabilityNexus/Fate-EVM-Frontend#153 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
code-yeongyu/oh-my-openagent#9039 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Tencent/teamai-cli#862 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue hacktoberfest redis
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
libredb/libredb-studio#1164 ·
I maintainer di solito rispondono entro 1 giorno
-
flake
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno