sync appium WDA 16.12.1 - #34
Open
Timo972 wants to merge 36 commits into
Open
Conversation
## [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>
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.1](v16.12.0...v16.12.1) (2026-09-01) ### Miscellaneous Chores * bump support-related dependencies ([#1245](#1245)) ([3ff08a6](3ff08a6))
## [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))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.