Repository navigation
Conversation
Screenshot-only states declare the model screenshot size as screen_width/height, while taps are recorded in device units. Macro actions now record the size of the space taps are sent in (device pixels, or points on iOS), as in a11y runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
lutz-grex
left a comment
There was a problem hiding this comment.
Thanks, this is a focused fix. The new dimensions default to the existing screen dimensions, and the added test exercises ScreenshotOnlyStateProvider through click_at and checks both recorded screen fields.
Two nonblocking suggestions:
mobilerun/tools/ui/state.py:59–61already explains that these dimensions describe the tap input space. Names such asinput_widthandinput_heightmight make that clearer, especially when the units are iOS points.tests/test_macro_recording_actions.py:279expects(440, 956)for a 440×956 input space, placing the tap at the right/bottom extent rather than inside it. This comes from the existing rounding inconvert_point; this PR does not change that conversion. Could the test use an interior point, or explain that it is preserving existing edge behavior?
Summary
In screenshot-only mode (
vision_only, Visual Remote),macro.jsonrecorded the model screenshot size as each action'sscreen(for example 922x2048), while taps were recorded in device pixels (or iOS points). Replay was not affected because it taps the recorded x/y as-is, butscreendid not match the tap coordinates.Each action's
screenis now the size of the space taps are sent in: device pixels on Android, points on iOS. This is the same as in accessibility runs.UIStategains optionaldevice_width/device_height. It defaults toscreen_width/screen_height, so no other provider changes.ScreenshotOnlyStateProvidersets them to the driver input size in both pixel and normalized mode.Testing
screen922x2048; this branch records 1080x2400, which matcheswm size.🤖 Generated with Claude Code