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
iOS smoke lane: webview cold-start exceeds the 20s first-page budget; wait_deadline_exceeded with content present in the post-failure snapshot #3343
smoke:webview-remote-content fails the iOS Smoke lane at step "wait for the WebView page to expose its link" (wait text "Jump to form" 20000) with typed reason: wait_deadline_exceeded — all 25 polls outcome: readable, i.e. the route was healthy and answering the whole budget; the page content simply did not appear inside the 20 s the scenario budgets for the run's first WebContent process spawn.
The failure is self-refuting as a "content never arrives" defect: the post-failure snapshot taken seconds later already contains the page — failed-step-102-snapshot.json carries two Jump to form links, Account form, and Email address under a healthy/tree verdict with the expected circuit-disabled fallback warning. The page finished loading just past the deadline.
This is exactly the lane condition the scenario's own comment anticipates (live-webview-remote-content.ts: "a cold CI simulator needs more than the shared 10 s wait budget" — raised to 20 s), so the open question is who owns the tail: a longer/compensated budget, a load-completion signal instead of a wall-clock guess, or classifying the overrun as a lane condition under #2491. #2492 task 1 (content-class gate with fresh generations per row) would make this cheaper to pin down but does not own it.
Payload: gh run download 37843633972 --repo callstack/agent-device -n ios-artifacts → test/artifacts/ios-simulator/smoke/1791493983644-15998/failed-step.txt (poll table) and failed-step-102-snapshot.json (content present post-deadline).
Scope
Decide the owner of the WebContent cold-start tail for the first page of an app generation (budget, load signal, or explicit lane classification per #2491), then make the step's red/green signal match that decision. Do not just raise the constant without saying why the tail is what it is.
Related: #2491, #2492, #2484, #3336 (lane policy that leaves this red), #3342 (other untracked PR-lane class).
Consolidating into #3337 per the #3336 coordinator pass — #3337 already owns scenario-level untracked signatures from the #2491 attribution pass, and this is precisely that (wait_deadline_exceeded with high readableCaptures on a page-load wait). Full shape + decision rule recorded in #3337 (comment).
Activity
thymikee commentedon Oct 8, 2026
Consolidating into #3337 per the #3336 coordinator pass — #3337 already owns scenario-level untracked signatures from the #2491 attribution pass, and this is precisely that (wait_deadline_exceeded with high readableCaptures on a page-load wait). Full shape + decision rule recorded in #3337 (comment).