Skip to content

Releases: VKCOM/devicehub

v1.5.2

28 Feb 05:45
8b77eb1

Choose a tag to compare

For migration, it is recommended to download the project from scratch and remove old build images if you used Docker.

# To prepare, run:
npm ci && npm link

# To prepare WebDriverAgent (for Apple devices) in Xcode, run:
npm run setup-wda

# To save the settings (provisioning profile) of WebDriverAgent, run:
npm run save-wda-sign

# To apply saved changes to WebDriverAgent (after any `npm install / npm ci`), run:
npm run apply-wda-sign

# To run locally, run:
devicehub local

The purpose of this update was to optimize the Apple device workflow:

  • Replaced the embedded WebDriverAgent source with the appium-webdriveragent npm package
  • The build / installation / validation / cleanup processes are now controlled by the appium-webdriveragent package
  • Refactored touch events, optimized the touchMove event, which can now have intermediate points in the path instead of a straight line with "from - to" coordinates
  • Added setup-wda npm script that opens WebDriverAgent.xcodeproj from ./node_modules in Xcode
  • Added save-wda-sign npm script to save the user's signature for WebDriverAgent.xcodeproj, which must be used after each Xcode project edit, as dependency reinstallation ( npm install ) causes a reset
  • Added apply-wda-sign npm script to apply the saved user signature to the WebDriverAgent.xcodeproj project
  • When releasing an Apple device, it goes into lock mode and stops the current WDA Session
  • Implemented a healthcheck mechanism for the WebDriverAgent Server running on the device, which terminates the process after 4 failed attempts
    ( the ios-provider unit will automatically restart the device process )
  • Fix incorrect device model and marketName display in ui
  • Replaced usbmux with usb-hotplug to reduce USB monitoring overhead
    ( now using native macOS IOKit API )

During the work, bugs and technical debt were fixed:

  • Removed tsx from the project, added a postinstall script that initiates the project build with copying all necessary assets to the build folder and installing dependencies in ui
  • Added a postinstall script in ui that initiates the project build
  • Devices now always correctly reflect their status
    ( OFFLINE = 1 | ONLINE = 3 | CONNECTING = 4 | PREPARING = 6 )
  • Fixed the No display width or height bug that prevented ui from displaying the screen broadcast
  • Fixed a bug that prevented releasing Apple devices
  • Fixed a bug where repeated device connections were ignored
  • Added important flags when launching ios-device by the ios-provider unit

Целью данного обновления была оптимизация работы Apple устройств:

  • Локальный клон WebDriverAgent заменен на установку пакета appium-webdriveragent через npm
  • Процессы билда / установки / валидации / очистки теперь контролируются пакетом appium-webdriveragent
  • Отрефакторены touch события, оптимизировано touchMove событие, теперь оно может иметь промежуточные точки в пути вместо прямой с координатами "от - до"
  • Добавлен npm скрипт setup-wda открывающий WebDriverAgent.xcodeproj из node_modules в xcode
  • Добавлен npm скрипт save-wda-sign для сохранения подписи пользователя для WebDriverAgent.xcodeproj, его необходимо использовать после каждого редактирования xcode проекта, ведь при повторной установки зависимостей ( npm install ) происходит сброс
  • Добавлен npm скрипт apply-wda-sign для применения сохраненной подписи пользователя проекта WebDriverAgent.xcodeproj
  • При освобождении Apple устройства оно уходит в блокировку и останавливает текущую WDA Session
  • Реализован healthcheck механизм для запущенного на устройстве WebDriverAgent Server, который останавливает процесс при достижении 4х неудачных попыток
    ( юнит ios-provider автоматически запустит процесс девайса вновь )
  • Исправлено некорректное отображение model и marketName девайса в ui
  • Заменен usbmux на usb-hotplug для минимизации оверхеда при прослушке usb
    ( теперь используется нативный macOS IOKit API )

В процессе работы были исправлены баги и техдолг:

  • Убран tsx из проекта, добавлен postinstall скрипт инициирующий билд проекта с копированием всех необходимых ассетов в папку билда и установкой зависимостей в ui
  • В ui добавлен postinstall скрипт инициирующий билд проекта
  • Устройства теперь всегда корректно отражают свой статус
    ( OFFLINE = 1 | ONLINE = 3 | CONNECTING = 4 | PREPARING = 6 )
  • Исправлен баг No display width or height, из-за которого ui не мог отобразить трансляцию экрана
  • Исправлен баг, из-за которого невозможно было освободить Apple устройство
  • Исправлен баг, при котором игнорировалось повторное переподключение девайса
  • Добавлены важные флаги при запуске ios-device юнитов ios-provider

Full Changelog: v1.5.1...v1.5.2

v1.5.1

21 Jan 15:02
ef790da

Choose a tag to compare

What's Changed

Full Changelog: v1.5.0...v1.5.1

v1.5.0 TypeScript

10 Sep 18:52
d9ad5c0

Choose a tag to compare

This release contains a lot of changes and bugfixes

What's Changed

New Contributors

Full Changelog: v1.4.8...v1.5.0

v1.4.8

29 Jul 18:03
c05f5c1

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.4.7...v1.4.8

1.4.7

22 Jul 16:56
bb89784

Choose a tag to compare

What's Changed

  • Airplane toggle for Android devices
  • API for Teams feature

Full Changelog: v1.4.6...v1.4.7

1.4.6 WebDriver remote connect for iOS and JWT tokens

15 Jul 16:04
488ee7b

Choose a tag to compare

What's Changed

  • Now you can connect to iOS devices from your appium tests using WDA
  • DeviceHub now generate new modern JWT tokens instead of legacy one

Other changes:

Full Changelog: v1.4.5...v1.4.6

v1.4.5

09 Jul 18:35
92f3d05

Choose a tag to compare

What's Changed

Features and fixes

Tests

New Contributors

Full Changelog: v1.4.4...v1.4.5

v1.4.4

30 Jun 09:46
d9d5d60

Choose a tag to compare

What's Changed

All changes from v.1.4.4 which one was wrong tagged

Full Changelog: v.1.4.4...v1.4.4

v1.4.3

16 Jun 14:18
efeef8c

Choose a tag to compare

What's Changed

  • bugfixes
  • e2e tests
  • updates for documents
  • add moderators right for groups. More info
  • remove part of group-scheduler service

MRs

Full Changelog: v1.4.2...v1.4.3

1.4.2 Control iOS devices with ESP32

18 Apr 18:12
425f121

Choose a tag to compare

What's Changed

Full Changelog: v1.4.1...v1.4.2