feat: release 2.2.0 with PC-only tests and execution reliability fixes
Unify task scheduling and queue state, fix Android input and observation recovery, preserve screenshot paths, and match final review criteria accurately. Add collapsible copyable results and publish the complete 2.1.0 upgrade notes. Validation: 3189 backend tests, 326 frontend tests, 24 client tests, production build and quality gates.
This commit is contained in:
1 parent
fac4ccb760
commit
be6e8c2abd
79 files changed
+2263
-277
No files matched your search
@@ -239,20 +239,10 @@ class UnifiedMobileController:
|
||||
async def erase_text(self, nb_chars: int | None = None) -> bool:
|
||||
if nb_chars is not None and nb_chars > 0:
|
||||
for _ in range(nb_chars):
|
||||
await self._driver.press_key("delete")
|
||||
if not await self._driver.press_key("delete"):
|
||||
return False
|
||||
return True
|
||||
# Best-effort full clear: End -> Ctrl+A -> Delete
|
||||
try:
|
||||
clear_cmd = (
|
||||
"input keyevent 123 && "
|
||||
"input keycombination 113 29 && input keyevent 67 && "
|
||||
"input keyevent 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67"
|
||||
)
|
||||
await self._driver.execute_shell(clear_cmd)
|
||||
except Exception:
|
||||
for _ in range(30):
|
||||
await self._driver.press_key("delete")
|
||||
return True
|
||||
return await self._driver.input_text("", clear_existing=True)
|
||||
|
||||
async def get_ui_elements(self) -> list[dict]:
|
||||
screen_data = await self._driver.get_screen_data()
|
||||
|
||||
Reference in new issue
Block a user