fix: cache the testmanagerd protocol version fallback on timeout - #1228
Merged
mykola-mokhnach merged 3 commits intoAug 28, 2026
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mykola-mokhnach
approved these changes
Aug 26, 2026
|
@Timo972 Could you please sign CLA? |
Author
didn’t expect the CLA to be such a blocker. it’ll take some time until my company can sign the CCLA unfortunately. will get back to it once the signing is done |
github-actions Bot
pushed a commit
that referenced
this pull request
Aug 28, 2026
## [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))
|
🎉 This PR is included in version 16.9.2 🎉 The release is available on: Your semantic-release bot 📦🚀 |
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.
FBTestmanagerdVersion()deliberately does not cache its timeout fallback, so it retries the_XCT_exchangeProtocolVersion:reply:exchange on every call. Against a legacy or degraded testmanagerd that never answers, that means every caller — notably everyGET /statusrequest, which reportstestmanagerdVersion— repeats the full 20-second wait. Since/statusis the standard health-check endpoint, repeated probes make an already-bound, otherwise-working WDA appear permanently unavailable.The value is diagnostic-only (per the code's own comments), so the cost of caching a possibly-pessimistic
0xFFFFfallback after one timeout is negligible, while the cost of retrying is a 20-second stall on every status call. This change caches the fallback like every other outcome.🤖 Generated with Claude Code