Skip to content

sync appium WDA 16.12.1 - #34

Open
Timo972 wants to merge 36 commits into
droidrun:masterfrom
appium:master
Open

sync appium WDA 16.12.1#34
Timo972 wants to merge 36 commits into
droidrun:masterfrom
appium:master

Conversation

@Timo972

@Timo972 Timo972 commented Sep 3, 2026

Copy link
Copy Markdown

No description provided.

mykola-mokhnach and others added 30 commits August 27, 2026 07:30
## [16.9.0](v16.8.0...v16.9.0) (2026-08-27)

### Features

* cache the system application resolution for WDA's process lifetime ([#1232](#1232)) ([21c98f2](21c98f2))
… types (#1230)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
## [16.9.1](v16.9.0...v16.9.1) (2026-08-28)

### Bug Fixes

* add missing settings to the exported WDASettings/WDACapabilities types ([#1230](#1230)) ([a9e8203](a9e8203))
* do not trust XCUIElement.lastSnapshot for long-lived elements ([#1235](#1235)) ([57968cc](57968cc))
Bumps [@appium/strongbox](https://github.com/appium/appium/tree/HEAD/packages/strongbox) from 1.1.3 to 2.0.0.
- [Release notes](https://github.com/appium/appium/releases)
- [Changelog](https://github.com/appium/appium/blob/master/packages/strongbox/CHANGELOG.md)
- [Commits](https://github.com/appium/appium/commits/@appium/strongbox@2.0.0/packages/strongbox)

---
updated-dependencies:
- dependency-name: "@appium/strongbox"
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## [16.9.2](v16.9.1...v16.9.2) (2026-08-28)

### Bug Fixes

* cache the testmanagerd protocol version fallback on timeout ([#1228](#1228)) ([f3d8e0c](f3d8e0c))
* sanitize non-UTF-8-encodable strings before JSON response serialization ([#1236](#1236)) ([fa6a250](fa6a250))

### Miscellaneous Chores

* **deps:** bump @appium/strongbox from 1.1.3 to 2.0.0 ([#1237](#1237)) ([03db844](03db844))
…buffering (#1226)

* fix: reject malformed Content-Length values and bound request header buffering

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: bound completed header blocks too, not just incomplete ones

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: close connections that never deliver a complete request

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: treat the incomplete-request timeout as an idle bound during the body phase

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: add response backpressure and reject whitespace before header colons

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: reject duplicate framing headers and stop pipelining on send failure

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: reject malformed header lines instead of skipping them

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: address review feedback on framing hardening

- Bound the parsed Content-Length by NSUIntegerMax explicitly: the
  15-digit cap alone is not enough on watchOS (arm64_32), where
  NSUInteger is 32-bit and truncation would resurrect the framing desync
  this parser exists to prevent.
- Clear pendingRequestHeaders in -closeClient: too, so a connection the
  reaper drops doesn't retain its parsed header until (or unless) the
  disconnect callback runs.
- Refresh the incomplete-request timestamp when the parser transitions a
  request into its body phase: -client:didReceiveData: samples that
  phase before parsing, so the receive completing a slow header block
  (and carrying the first body bytes) previously left the connection on
  its header-phase deadline.
- Tests: import <unistd.h> for close(2), send the payload in a loop
  since send(2) may write only part of it, keep reading past recv
  timeouts unless the response is a keep-alive success so didClose is
  reliable, and assert didClose in both oversized-header tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: resume parsing atomically when lifting the reaper exemption

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore: make comments more concise

* fix: lower the request header cap to 16 KiB

Matches node's default --max-http-header-size, and is still far above
anything a real WDA request sends. The oversized-header tests flood
96 KiB, so they keep exercising the over-the-cap path unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix: bound Content-Length by overflow rather than a digit count

The 15-digit cap was a second, unrelated bound on a value the caller
already bounds by httpRequestBodySizeLimit. Only the arithmetic needs
guarding, so reject on the overflow itself instead. NSUInteger is 32-bit
on watchOS (arm64_32), so this keeps rejecting what would truncate, and
strict digit-only parsing is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* refactor: split -processBufferForClient: into focused helpers

Pure refactor, no behaviour change: header-block extraction and size
check, header-line parsing, framing-header validation plus body-length
resolution, and the body-extent/dispatch step each move to their own
method. Every malformed case keeps its existing 400-and-close outcome.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
## [16.9.3](v16.9.2...v16.9.3) (2026-08-29)

### Bug Fixes

* reject malformed Content-Length values and bound request header buffering ([#1226](#1226)) ([60c5fc4](60c5fc4))
…1227)

* fix: drop MJPEG frames for clients that stop draining their socket

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore: make comments more concise

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>
## [16.9.4](v16.9.3...v16.9.4) (2026-08-29)

### Bug Fixes

* drop MJPEG frames for clients that stop draining their socket ([#1227](#1227)) ([00cb6b6](00cb6b6))
## [16.10.0](v16.9.4...v16.10.0) (2026-08-29)

### Features

* add displayId in the wda/screen ([#1238](#1238)) ([bfbe6b0](bfbe6b0))
## [16.11.0](v16.10.0...v16.11.0) (2026-08-29)

### Features

* expose AXTimeout and XCTest XPC request timeout wrappers  ([#1233](#1233)) ([d5c8571](d5c8571))
## [16.11.1](v16.11.0...v16.11.1) (2026-08-29)

### Bug Fixes

* build of FBMjpegServer ([#1239](#1239)) ([a3b8650](a3b8650))
Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>
* fix: reject requests admitted after their session was abandoned

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore: make comments more concise

* fix: keep abandoned session ids for the server lifetime

Evicting a tombstone let a later stale request for that session be treated as live
and queued on a possibly wedged route queue again - the hang this rejection exists to
prevent. Session ids are UUIDs, so retained ids can never match a live session.

* chore: shorten the -trackPendingRequest: comment

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>
## [16.11.2](v16.11.1...v16.11.2) (2026-08-30)

### Bug Fixes

* reject requests admitted after their session was abandoned ([#1229](#1229)) ([d6b4862](d6b4862))
* chore: bump base-driver

* chore: bump support

---------

Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>
## [16.11.3](v16.11.2...v16.11.3) (2026-08-30)

### Miscellaneous Chores

* bump base-driver & support ([#1240](#1240)) ([b8ee694](b8ee694))
## [16.11.4](v16.11.3...v16.11.4) (2026-08-30)

### Bug Fixes

* prevent a stale teardown from affecting a newer session generation ([#1231](#1231)) ([83642a1](83642a1))
* feat: add /wda/screens to return multiple screens

* add standalone
## [16.12.0](v16.11.4...v16.12.0) (2026-09-01)

### Features

* add get screens endpoint ([#1242](#1242)) ([55808de](55808de))

### Bug Fixes

* scope xcodebuild process kill to this package's own processes ([#1244](#1244)) ([988f309](988f309))
eglitise and others added 2 commits September 2, 2026 00:20
## [16.12.1](v16.12.0...v16.12.1) (2026-09-01)

### Miscellaneous Chores

* bump support-related dependencies ([#1245](#1245)) ([3ff08a6](3ff08a6))
@Timo972 Timo972 changed the title sync appium WDA 16.9.0 sync appium WDA 16.12.1 Sep 3, 2026
mykola-mokhnach and others added 4 commits September 3, 2026 20:01
## [16.12.2](v16.12.1...v16.12.2) (2026-09-03)

### Bug Fixes

* allow pause action items to appear before any pointer movement ([#1246](#1246)) ([282478a](282478a))
## [16.12.3](v16.12.2...v16.12.3) (2026-09-04)

### Bug Fixes

* resolve key name lookup for dictionary-form keyboardInput keys ([#1247](#1247)) ([f40bac6](f40bac6))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants