Commit Graph

720 Commits

Author SHA1 Message Date
github-actions 8018f8b70e chore: publish
- appium@3.5.0
 - @appium/base-driver@10.6.0
 - @appium/base-plugin@3.3.0
 - @appium/docutils@2.4.3
 - @appium/driver-test-support@1.2.3
 - @appium/eslint-config-appium-ts@3.2.2
 - @appium/execute-driver-plugin@6.0.4
 - @appium/fake-driver@6.2.0
 - @appium/fake-plugin@4.3.0
 - @appium/images-plugin@4.2.5
 - @appium/logger@2.0.8
 - @appium/opencv@4.1.5
 - @appium/plugin-test-support@1.2.3
 - @appium/relaxed-caps-plugin@2.2.3
 - @appium/schema@1.2.0
 - @appium/storage-plugin@1.1.5
 - @appium/support@7.2.3
 - @appium/test-support@4.1.5
 - @appium/types@1.5.0
 - @appium/universal-xml-plugin@2.1.4
2026-05-31 02:29:56 +00:00
Mykola Mokhnach cf79b3283a feat(base-driver): Ditch lodash (#22324) 2026-05-30 08:13:10 +02:00
renovate[bot] 04b408aace chore(storage-plugin): update dependency lru-cache to v11.5.0 (#22294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-25 07:33:05 +02:00
Mykola Mokhnach c9b7eac365 feat(base-driver): Ditch bluebird (#22293) 2026-05-23 08:28:06 +02:00
renovate[bot] 094daa24be chore(storage-plugin): update dependency lru-cache to v11.4.0 (#22288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-21 14:00:29 +00:00
Mykola Mokhnach 25d922b7d3 feat: make assignIpc internal (#22278) 2026-05-18 07:35:51 +02:00
Mykola Mokhnach 0264775ecb feat: Limit the maximum count of topics per session and make it configurable (#22279) 2026-05-18 07:22:48 +02:00
Mykola Mokhnach f5b193ccf0 chore(base-driver): Simplify async generator logic in IpcSubscription (#22280) 2026-05-18 07:22:32 +02:00
renovate[bot] 6d88f54918 chore(support): update dependency axios to v1.16.1 (#22283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-17 13:25:41 +00:00
Jonathan Lipps 97c879cdd0 feat: add IPC channels per session for drivers and plugins to communicate (#22211)
* feat: add IPC channels per session for drivers and plugins to communicate (fix #22206)

* lint

* export AppiumIpc

* fix test issues

* import AppiumIpc directly from basedriver

* fakedriver is used directly outside of appium so can't rely on existence of IPC

* make ipc functions async with lock and better types

* fix assignIpc types

* deduplicate session object deletion

* ipcGuard -> withIpc

* address various review comments

* lint

* address copilot and other review comments

* store only last message. change model to use subscription object and async generator

* enforce max message size in bytes

* fix tests and call the message payload 'data' for clarity

* lint

* make assignIpc optional on drivers for backwards compatibility

* add error handling in startClock since it is usually not awaited

* add docs

* remove todo comment

* apply copilot and eglitise suggestions

* add typedoc

* add error handling to onIpcInit

* apply more suggestions

* fix schema unit test

* apply more suggestions

* add links to ipc examples

* make minimum ipc message size 1 instead of 0

* ensure publisher names are friendly to consumers

* fix ipc message time unit

* use already included sizeof for objs

* just pass error obj to log

* be more typescriptey about our ipc guard

* make max obj size part of opts for appiumipc

* let unsubscribe return whether it worked

* improve ipc types and shapes

* apply master package-lock.json

* update schema config

* use javascript naming conventions

* clarify distinction between message and payload (data)

* ensure async iterator loop ends when unsubscribe is called

* ensure the right things happen when you unsubscribe

* make require ipc more ergonomic

* remove unnecessary async locks and de-asyncify methods

* simplify interface and just use subscriber/plugin names

* fix docs

* fix lint

* document isActive

* add note about topic namespace

* use sleep instead of delay

* restrict the ipc payload data type to something that can be cloned

* clarify topic namespacing recommendation

* make sure listeners and promises are cleaned up in async iterator

* clean up ipc internal names

* readonly

* address review comments

* make ipcmessage readonly

* readonly cause why not
2026-05-14 16:56:02 -07:00
renovate[bot] 07466e02f7 chore(support): update dependency asyncbox to v6.3.0 (#22265)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-12 11:34:37 +00:00
renovate[bot] a18700fed6 chore(storage-plugin): update dependency lru-cache to v11.3.6 (#22259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-10 08:47:54 +02:00
github-actions f5369c65a8 chore: publish
- appium@3.4.2
 - @appium/base-driver@10.5.2
 - @appium/base-plugin@3.2.4
 - @appium/docutils@2.4.2
 - @appium/fake-plugin@4.2.4
 - @appium/images-plugin@4.2.4
 - @appium/storage-plugin@1.1.4
 - @appium/support@7.2.2
 - @appium/test-support@4.1.4
2026-05-07 18:32:52 +00:00
github-actions fd6dbe9eff chore: publish
- appium@3.4.1
 - @appium/base-driver@10.5.1
 - @appium/base-plugin@3.2.3
 - @appium/docutils@2.4.1
 - @appium/eslint-config-appium-ts@3.2.1
 - @appium/fake-plugin@4.2.3
 - @appium/images-plugin@4.2.3
 - @appium/storage-plugin@1.1.3
 - @appium/support@7.2.1
 - @appium/test-support@4.1.3
2026-05-06 20:38:58 +00:00
github-actions 9c35776756 chore: publish
- appium@3.4.0
 - @appium/base-driver@10.5.0
 - @appium/base-plugin@3.2.2
 - @appium/docutils@2.4.0
 - @appium/driver-test-support@1.2.2
 - @appium/eslint-config-appium-ts@3.2.0
 - @appium/execute-driver-plugin@6.0.3
 - @appium/fake-driver@6.1.3
 - @appium/fake-plugin@4.2.2
 - @appium/images-plugin@4.2.2
 - @appium/opencv@4.1.4
 - @appium/plugin-test-support@1.2.2
 - @appium/relaxed-caps-plugin@2.2.2
 - @appium/schema@1.1.1
 - @appium/storage-plugin@1.1.2
 - @appium/support@7.2.0
 - @appium/test-support@4.1.2
 - @appium/types@1.4.0
 - @appium/universal-xml-plugin@2.1.3
2026-05-06 19:01:52 +00:00
renovate[bot] 705710adc5 chore(support): update dependency axios to v1.16.0 (#22240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-06 14:50:17 +00:00
Edgars Eglītis 787571d338 feat: add 3 WebDriver extension endpoints (#22237)
* feat: add 2 WebDriver extension endpoints

* docs: add missing reference for removeAuthCredential

* fix protocol hash
2026-05-05 20:30:59 +03:00
renovate[bot] 3dd0ac715a chore(support): update dependency asyncbox to v6.2.0 (#22233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-04 20:27:40 +00:00
Edgars Eglītis ce09eb2e7d chore: fix new linting errors in ESLint 10 (#22230)
* fix no-useless-assignment errors

* fix preserve-caught-error errors

* address comments

* address comments
2026-05-04 20:44:23 +03:00
Sai Asish Y fa1e87535b feat(base-driver): map W3C 'no such shadow root' to NoSuchShadowRootError (#22210)
Appium's base-driver had no dedicated ProtocolError subclass for
the W3C WebDriver 'no such shadow root' error. Every such response
from an underlying browser (the GetShadowRoot command against an
element whose shadow DOM is absent) fell through the
w3cErrorCodeMap lookup to UnknownError, making client-side error
handling (Selenium's NoSuchShadowRootException in particular)
unreachable.

Add NoSuchShadowRootError with error='no such shadow root' /
w3cStatus=404 / code=65, register it in the errors map so
errorFromW3CJsonCode returns it, and extend the existing
errors.spec table-tests to lock the new mapping.

Fixes #22209

Signed-off-by: SAY-5 <say.apm35@gmail.com>
2026-04-29 19:19:50 +02:00
renovate[bot] 712832ae61 chore(support): update dependency axios to v1.15.2 (#22205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-28 17:00:15 +00:00
github-actions 17f84265d1 chore: publish
- appium@3.3.1
 - @appium/base-driver@10.4.0
 - @appium/base-plugin@3.2.1
 - @appium/docutils@2.3.1
 - @appium/driver-test-support@1.2.1
 - @appium/eslint-config-appium-ts@3.1.0
 - @appium/execute-driver-plugin@6.0.2
 - @appium/fake-driver@6.1.2
 - @appium/fake-plugin@4.2.1
 - @appium/images-plugin@4.2.1
 - @appium/logger@2.0.7
 - @appium/opencv@4.1.3
 - @appium/plugin-test-support@1.2.1
 - @appium/relaxed-caps-plugin@2.2.1
 - @appium/storage-plugin@1.1.1
 - @appium/strongbox@1.1.1
 - @appium/support@7.1.1
 - @appium/test-support@4.1.1
 - @appium/types@1.3.1
 - @appium/universal-xml-plugin@2.1.2
2026-04-23 21:25:07 +00:00
renovate[bot] 6d76b1ded6 chore(types): update dependency type-fest to v5.6.0 (#22198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 09:39:32 +00:00
Mykola Mokhnach 4c4e8d8911 feat(base-driver): Show known capability name matches for typos (#22193) 2026-04-18 19:17:00 +02:00
Mykola Mokhnach 943866bcf3 fix(base-driver): lint warnings (#22174) 2026-04-16 18:15:34 +02:00
renovate[bot] dbcf4a133c chore(storage-plugin): update dependency lru-cache to v11.3.5 (#22180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 11:17:27 +00:00
Mykola Mokhnach dfe8bde687 fix(base-driver): Make proxy timeout mutable again (#22154) 2026-04-11 09:30:37 +02:00
renovate[bot] 4e9bf1944b chore(deps): update dependency typescript to v6 (#22104) 2026-04-10 10:42:49 +02:00
github-actions 7a8965f5c3 chore: publish
- appium@3.3.0
 - @appium/base-driver@10.3.0
 - @appium/base-plugin@3.2.0
 - @appium/docutils@2.3.0
 - @appium/driver-test-support@1.2.0
 - @appium/eslint-config-appium-ts@3.0.2
 - @appium/execute-driver-plugin@6.0.1
 - @appium/fake-driver@6.1.1
 - @appium/fake-plugin@4.2.0
 - @appium/images-plugin@4.2.0
 - @appium/logger@2.0.6
 - @appium/opencv@4.1.2
 - @appium/plugin-test-support@1.2.0
 - @appium/relaxed-caps-plugin@2.2.0
 - @appium/storage-plugin@1.1.0
 - @appium/strongbox@1.1.0
 - @appium/support@7.1.0
 - @appium/test-support@4.1.0
 - @appium/types@1.3.0
 - @appium/universal-xml-plugin@2.1.1
2026-04-09 18:57:40 +00:00
renovate[bot] daa99525eb chore(storage-plugin): update dependency lru-cache to v11.3.3 (#22148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 21:36:41 +03:00
renovate[bot] 24d8344927 chore(support): update dependency axios to v1.15.0 (#22145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 21:26:19 +03:00
renovate[bot] e00cd5e7eb chore(storage-plugin): update dependency lru-cache to v11.3.1 (#22144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 21:23:46 +03:00
renovate[bot] 27d3c517d7 chore(storage-plugin): update dependency lru-cache to v11.3.0 (#22143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 09:24:44 +00:00
renovate[bot] a36736862f chore(base-driver): update dependency path-to-regexp to v8.4.2 (#22135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-05 12:58:24 +00:00
renovate[bot] 7153d0adf8 chore(base-driver): update dependency path-to-regexp to v8.4.1 (#22126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 05:13:13 +00:00
renovate[bot] ad13932e6e chore(universal-xml-plugin): update dependency lodash to v4.18.1 [security] (#22131)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 01:35:57 +00:00
renovate[bot] b649c64df5 chore(support): update dependency axios to v1.14.0 (#22113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-28 09:39:44 +00:00
renovate[bot] b31574d0ed chore(base-driver): update dependency path-to-regexp to v8.4.0 (#22109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 08:29:01 +00:00
Mykola Mokhnach 86c8f23a67 feat: use exact version for dependencies in monorepo packages instead of ^ (#22090) 2026-03-21 16:37:22 +01:00
renovate[bot] 87704de080 chore(types): update dependency type-fest to v5.5.0 (#22084) 2026-03-20 19:41:38 +01:00
renovate[bot] d6a195a556 chore(storage-plugin): update dependency lru-cache to v11.2.7 (#22071)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 17:41:28 +01:00
Mykola Mokhnach 190c30b418 chore(base-driver): Migrate proxy.js to typescript (#22054) 2026-03-11 07:07:54 +01:00
github-actions c745352c65 chore: publish
- appium@3.2.2
 - @appium/base-driver@10.2.2
 - @appium/base-plugin@3.1.1
 - @appium/fake-plugin@4.1.1
2026-03-09 18:42:00 +00:00
Mykola Mokhnach 2dfae495ff chore(base-driver): Migrate protocol converter to typescript (#22049) 2026-03-08 21:51:32 +01:00
github-actions 980a121804 chore: publish
- appium@3.2.1
 - @appium/base-driver@10.2.1
 - @appium/base-plugin@3.1.0
 - @appium/docutils@2.2.2
 - @appium/driver-test-support@1.1.0
 - @appium/eslint-config-appium-ts@3.0.1
 - @appium/execute-driver-plugin@6.0.0
 - @appium/fake-driver@6.1.0
 - @appium/fake-plugin@4.1.0
 - @appium/images-plugin@4.1.1
 - @appium/logger@2.0.5
 - @appium/opencv@4.1.1
 - @appium/plugin-test-support@1.1.0
 - @appium/relaxed-caps-plugin@2.1.0
 - @appium/schema@1.1.0
 - @appium/storage-plugin@1.0.6
 - @appium/strongbox@1.0.2
 - @appium/support@7.0.6
 - @appium/test-support@4.0.6
 - @appium/tsconfig@1.1.2
 - @appium/types@1.2.1
 - @appium/universal-xml-plugin@2.1.0
2026-03-08 20:32:27 +00:00
Mykola Mokhnach a1095d2816 chore(base-driver): Migrate status.js to typescript (#22047) 2026-03-08 08:29:55 +01:00
Mykola Mokhnach e7e26e5f57 chore(base-driver): Migrate the rest of protocol modules to typescript (#22046) 2026-03-07 19:16:46 +01:00
Mykola Mokhnach 27c39aed20 chore(base-driver): Migrate routes.js to typescript (#22039) 2026-03-06 08:33:05 +01:00
Mykola Mokhnach 176f19beff chore(base-driver): Migrate capability helpers to typescript (#22037) 2026-03-05 19:12:00 +01:00
Mykola Mokhnach a7006075f8 chore(base-driver): Migrate the rest of express modules to typescript (#22036) 2026-03-04 21:03:22 +01:00