Releases: VKCOM/devicehub
Releases · VKCOM/devicehub
v1.5.2
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 localThe purpose of this update was to optimize the Apple device workflow:
- Replaced the embedded WebDriverAgent source with the
appium-webdriveragentnpm package - The build / installation / validation / cleanup processes are now controlled by the
appium-webdriveragentpackage - Refactored
touchevents, optimized thetouchMoveevent, which can now have intermediate points in the path instead of a straight line with "from - to" coordinates - Added
setup-wdanpm script that opensWebDriverAgent.xcodeprojfrom./node_modulesin Xcode - Added
save-wda-signnpm script to save the user's signature forWebDriverAgent.xcodeproj, which must be used after each Xcode project edit, as dependency reinstallation (npm install) causes a reset - Added
apply-wda-signnpm script to apply the saved user signature to theWebDriverAgent.xcodeprojproject - When releasing an
Appledevice, it goes into lock mode and stops the currentWDA Session - Implemented a
healthcheckmechanism for theWebDriverAgent Serverrunning on the device, which terminates the process after 4 failed attempts
( theios-providerunit will automatically restart the device process ) - Fix incorrect device
modelandmarketNamedisplay inui - Replaced
usbmuxwithusb-hotplugto reduce USB monitoring overhead
( now using native macOSIOKit API)
During the work, bugs and technical debt were fixed:
- Removed
tsxfrom the project, added apostinstallscript that initiates the project build with copying all necessary assets to the build folder and installing dependencies inui - Added a
postinstallscript inuithat 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 heightbug that preventeduifrom displaying the screen broadcast - Fixed a bug that prevented releasing
Appledevices - Fixed a bug where repeated device connections were ignored
- Added important flags when launching
ios-deviceby theios-providerunit
Целью данного обновления была оптимизация работы 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
( теперь используется нативный macOSIOKit 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
What's Changed
- hotfix imei by @irdkwmnsb in #363
- Decrease apt install list in dockerfile by @DaniilSmirnov in #365
- Remove console-feed & react dependencies [backend only] by @e-khalilov in #366
- fix default quotas hierarchy QA-19255 by @Alk2017 in #367
- Hotfix: device imei issue by @e-khalilov in #371
- increase ram for v8 by @DaniilSmirnov in #372
- Hotfix: device type issue by @e-khalilov in #373
- Hotfix: reconnect in ADBObserver by @e-khalilov in #375
- Develop to Master for 1.5.1 by @DaniilSmirnov in #364
- Hotfix: Fix broken import in ios by @e-khalilov in #383
- fix vulnerable deps by @DaniilSmirnov in #384
- Develop to Master for 1.5.1.0 by @e-khalilov in #398
Full Changelog: v1.5.0...v1.5.1
v1.5.0 TypeScript
This release contains a lot of changes and bugfixes
What's Changed
- translation: new language added - BY by @suprunchuk in #306
- optimize build by @DaniilSmirnov in #307
- Improve api tests structure by @DaniilSmirnov in #305
- implement tsx by @DaniilSmirnov in #308
- prune all docker objects by @DaniilSmirnov in #309
- Use new u4 version by @irdkwmnsb in #310
- First typescript files by @irdkwmnsb in #313
- fix ios battery percentage by @DaniilSmirnov in #314
- -retry for openid connect by @Alk2017 in #315
- minimum timeout for autotests group by @Alk2017 in #316
- add tests for autotests validation by @Alk2017 in #317
- Tizen Devices Support by @e-khalilov in #311
- update passport-saml by @DaniilSmirnov in #318
- fix belorussian locale by @DaniilSmirnov in #319
- Fix stf bin by @irdkwmnsb in #321
- Fix dockerfile by @irdkwmnsb in #322
- Startup error fixes by @irdkwmnsb in #323
- Core db files to typescript by @irdkwmnsb in #320
- Fix progress tracking by @e-khalilov in #324
- up version by @DaniilSmirnov in #325
- Ascii-fy all files and add a lint rule by @irdkwmnsb in #326
- A.chistov/teams frontend/qa 18556 by @Alk2017 in #327
- No wda prebuild by @e-khalilov in #328
- WDA build for each launch by @e-khalilov in #329
- Improves device booking logic by @irdkwmnsb in #330
- Di/fix error catch on migration/qa 18940 by @DaniilSmirnov in #332
- Malzhanov/fix migrate by @irdkwmnsb in #334
- Di/remove websocket stream package/qa 18942 by @DaniilSmirnov in #335
- Adds option to disable logs over wire by @irdkwmnsb in #336
- Launching a device unit without a provider by @e-khalilov in #341
- Logs for device origin group update flow by @e-khalilov in #342
- Await db before forward in processor by @e-khalilov in #344
- Raised admin rights & search group devices by one request by @e-khalilov in #345
- Transaction improvements by @irdkwmnsb in #337
- Rework provider flow & rewtrite to TS by @e-khalilov in #347
- Non-blocking logger by @e-khalilov in #348
- Fix DeviceLogMessage issue by @e-khalilov in #349
- Improved handling of ADB devices by @e-khalilov in #350
- Di/check admin in UI settings/qa 19054 by @DaniilSmirnov in #351
- update apple devices list by @DaniilSmirnov in #354
- Minor frontend fixes by @DaniilSmirnov in #353
- Add mongo syntax filters for devices by @DaniilSmirnov in #355
- remove old icons by @DaniilSmirnov in #356
- Fix connect issue by @e-khalilov in #352
- Fix unit logging by @irdkwmnsb in #358
- Service plugin ─ refactoring + TS by @e-khalilov in #357
- hotfix by @irdkwmnsb in #359
- Fix wda proxy issue by @e-khalilov in #360
New Contributors
- @suprunchuk made their first contribution in #306
Full Changelog: v1.4.8...v1.5.0
v1.4.8
What's Changed
- Improves device usage reliability by @irdkwmnsb in #293
- Remove stylus by @irdkwmnsb in #296
- Remove ios field by @DaniilSmirnov in #294
- set channel to null on introduction by @DaniilSmirnov in #295
- add appium docs by @DaniilSmirnov in #297
- Bump axios from 1.10.0 to 1.11.0 in /ui by @dependabot[bot] in #298
- Revert "Remove stylus" by @irdkwmnsb in #299
- Fix remote connect field by @irdkwmnsb in #300
- Adds Sentry span for transaction execution by @irdkwmnsb in #302
- A.chistov/qa common clean test/qa 18487 by @Alk2017 in #303
- Add tizen-device unit by @e-khalilov in #301
- up version by @DaniilSmirnov in #304
New Contributors
- @dependabot[bot] made their first contribution in #298
Full Changelog: v1.4.7...v1.4.8
1.4.7
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
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:
- extend device tests by @DaniilSmirnov in #274
- Di/update eslint/qa 18486 by @DaniilSmirnov in #273
- Fix loop redirect on OpenID Auth by @e-khalilov in #276
- up version 1.4.6 by @DaniilSmirnov in #277
Full Changelog: v1.4.5...v1.4.6
v1.4.5
What's Changed
Features and fixes
- Support for IOS simulators in ios-provider by @e-khalilov in #258
- fix: frontend dev mode by @oshcherbakovv in #262
- Repair the behavior of groups and devices. by @e-khalilov in #265
Tests
- Add test already_used devices by @pale-emperor in #260
- -add group creating method by @Alk2017 in #264
- add tests for auth middleware by @DaniilSmirnov in #269
New Contributors
- @pale-emperor made their first contribution in #260
Full Changelog: v1.4.4...v1.4.5
v1.4.4
What's Changed
All changes from v.1.4.4 which one was wrong tagged
- add tests for admin actions and for groups quotas by @DaniilSmirnov in #237
- Fixed reconnecting when releasing device by @e-khalilov in #255
- add helms by @DaniilSmirnov in #254
- enable ios clipboard by @DaniilSmirnov in #257
Full Changelog: v.1.4.4...v1.4.4
v1.4.3
What's Changed
- bugfixes
- e2e tests
- updates for documents
- add moderators right for groups. More info
- remove part of group-scheduler service
MRs
- Fix api install - download the file completely by @irdkwmnsb in #206
- Switching the fs module to the native version by @e-khalilov in #205
- Improved user settings on admin page & Added personal token view by @e-khalilov in #203
- update dep by @DaniilSmirnov in #207
- add button and logic by @DaniilSmirnov in #208
- -stf doc by @Alk2017 in #212
- Update README.md by @DaniilSmirnov in #213
- add logs and change to modern usage by @DaniilSmirnov in #215
- change button text by @DaniilSmirnov in #214
- implement base playwright tests by @DaniilSmirnov in #211
- Add group moderators & refactoring db by @e-khalilov in #210
- emulator for e2e by @DaniilSmirnov in #216
- add test for device control from table by @DaniilSmirnov in #217
- Test device screen changing when swiping by @DaniilSmirnov in #218
- Di/auth as setup in e2e/qa 17921 by @DaniilSmirnov in #219
- Improve error handling by @e-khalilov in #220
- QA-16619 Поправить схему апи. by @Alk2017 in #221
- QA-18013 - Make api-generate-client ready for work from box. by @Alk2017 in #222
- Fix tracking group duration by @e-khalilov in #226
- Fix device access issue by @e-khalilov in #223
- update doc by @DaniilSmirnov in #230
- Fix adding a device to a group by @e-khalilov in #229
Full Changelog: v1.4.2...v1.4.3
1.4.2 Control iOS devices with ESP32
What's Changed
- Now you can control iOS devices by ESP32 - more about this feature https://github.com/VKCOM/devicehub/blob/master/doc/ios-docs/esp32.md
- Set user rights on login by ldap groups parsing
- ZeroMQ updated to version 6
- Bugs and CVEs fixes
Full Changelog: v1.4.1...v1.4.2