@@ -3058,7 +3058,10 @@ Detailed diagnostic report with:
30583058
30593059 final x = (args['x' ] as num ).toDouble ();
30603060 final y = (args['y' ] as num ).toDouble ();
3061- final result = await driver.tap (x, y);
3061+ final result = await driver.tap (x, y).timeout (
3062+ const Duration (seconds: 15 ),
3063+ onTimeout: () => NativeResult (success: false , message: 'native_tap timed out (15s) — check macOS Accessibility permissions' ),
3064+ );
30623065 return result.toJson ();
30633066 }
30643067
@@ -3074,7 +3077,10 @@ Detailed diagnostic report with:
30743077 };
30753078 }
30763079 final text = args['text' ] as String ;
3077- final result = await driver.inputText (text);
3080+ final result = await driver.inputText (text).timeout (
3081+ const Duration (seconds: 15 ),
3082+ onTimeout: () => NativeResult (success: false , message: 'native_input_text timed out (15s) — check macOS Accessibility permissions' ),
3083+ );
30783084 return result.toJson ();
30793085 }
30803086
@@ -3095,7 +3101,10 @@ Detailed diagnostic report with:
30953101 final endY = (args['end_y' ] as num ).toDouble ();
30963102 final duration = args['duration' ] as int ? ?? 300 ;
30973103 final result =
3098- await driver.swipe (startX, startY, endX, endY, durationMs: duration);
3104+ await driver.swipe (startX, startY, endX, endY, durationMs: duration).timeout (
3105+ const Duration (seconds: 15 ),
3106+ onTimeout: () => NativeResult (success: false , message: 'native_swipe timed out (15s) — check macOS Accessibility permissions' ),
3107+ );
30993108 return result.toJson ();
31003109 }
31013110
0 commit comments