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
UI shape involved: focused text input inside a bottom-sheet / overlay style surface, plus a related custom numeric keypad surface with a decorative infinite Reanimated animation
Description
We are seeing intermittent but repeatable iOS physical-device automation stalls after a focused input inside a React Native bottom-sheet / overlay is active.
The app remains visibly responsive:
agent-device screenshot still works.
Raw coordinate presses still work.
Pressing visible keyboard keys by coordinate can enter text.
Pressing visible custom keypad keys by coordinate can update the amount display.
But XCTest-backed commands can start timing out in the same state:
snapshot -i
type
fill
keyboard dismiss
drag/back-style recovery attempts
The observed error class is main thread execution timed out.
This feels like XCTest quiescence/idleness getting stuck after the overlay/input/keyboard state becomes active, rather than the app being frozen. One related surface also contains a decorative infinite Reanimated caret animation, which may make the problem easier to trigger, but the focused text-input overlay case can happen separately from that caret.
I saw #1105 and #1107, which sound adjacent: iOS capture can stall while the app is still healthy, and the merged fix bounds capture stalls / preserves sessions. This report is specifically from a physical iPhone workflow on the latest published npm release (0.18.3), where #1107 does not appear to be released yet. If #1107 is expected to cover this once released, confirmation would be helpful.
Reproducible Demo
I do not have a minimal public repo yet, but the minimal shape should be:
Create an Expo React Native dev-client app.
Add a screen with a bottom-sheet / overlay style component.
Put a text input in that overlay and focus it so the iOS keyboard is visible.
Optionally add a second overlay with a custom numeric keypad and a nonessential infinite Reanimated animation, such as a blinking caret.
Launch on a physical iPhone through agent-device.
Open the overlay and focus the input.
Run agent-device snapshot -i, type, fill, and keyboard dismiss against the focused state.
Expected:
Snapshot/text-entry/keyboard commands either work, or fail quickly with actionable state while preserving the session.
Actual:
Screenshots and coordinate taps still show the app is alive, but XCTest-backed commands can time out with main thread execution timed out.
Current workaround:
Avoid repeated idle-dependent commands once the timeout appears.
Capture screenshot evidence as visual truth.
Press visible keyboard/keypad coordinates directly only to prove user-visible behavior.
Question:
Is there a recommended agent-device pattern for focused React Native overlays on physical iOS devices, especially where XCTest waits for app idle but screenshots/taps still work?
Is there a way for agent-device to expose a faster "XCTest channel busy / app still alive" diagnostic or direct hint to use screenshots/coordinate presses in this state?
Environment
0.18.3(npx -y agent-device --version)26.5.2(25F84)26.6(17F113)v26.4.011.17.0Description
We are seeing intermittent but repeatable iOS physical-device automation stalls after a focused input inside a React Native bottom-sheet / overlay is active.
The app remains visibly responsive:
agent-device screenshotstill works.But XCTest-backed commands can start timing out in the same state:
snapshot -itypefillkeyboard dismissThe observed error class is
main thread execution timed out.This feels like XCTest quiescence/idleness getting stuck after the overlay/input/keyboard state becomes active, rather than the app being frozen. One related surface also contains a decorative infinite Reanimated caret animation, which may make the problem easier to trigger, but the focused text-input overlay case can happen separately from that caret.
I saw #1105 and #1107, which sound adjacent: iOS capture can stall while the app is still healthy, and the merged fix bounds capture stalls / preserves sessions. This report is specifically from a physical iPhone workflow on the latest published npm release (
0.18.3), where #1107 does not appear to be released yet. If #1107 is expected to cover this once released, confirmation would be helpful.Reproducible Demo
I do not have a minimal public repo yet, but the minimal shape should be:
agent-device snapshot -i,type,fill, andkeyboard dismissagainst the focused state.Expected:
Actual:
main thread execution timed out.Current workaround:
Question: