Skip to content

fix: keep the user client config when switching to a direct connect endpoint - #14

Open
Dor-bl wants to merge 1 commit into
masterfrom
claude/upstream-issue-fix-50rwr8
Open

fix: keep the user client config when switching to a direct connect endpoint#14
Dor-bl wants to merge 1 commit into
masterfrom
claude/upstream-issue-fix-50rwr8

Conversation

@Dor-bl

@Dor-bl Dor-bl commented Sep 4, 2026

Copy link
Copy Markdown
Owner

When the server decorates the new session response with the directConnect*
capabilities, the client rebuilt its command executor out of the endpoint URL
alone. That silently dropped every setting of the AppiumClientConfig given by
the user, including the read timeout, the pool manager arguments, the proxy,
the CA bundle and the authentication credentials, and downgraded the config
instance to a plain selenium ClientConfig.

The most visible consequence was that the documented way of configuring a read
timeout had no effect on such sessions, so a hanging server call never timed
out. Reuse a copy of the current configuration and only replace the endpoint it
points to instead. Copying keeps the instance given by the user untouched.

It also stops the deprecated remote_server_addr/keep_alive constructor
arguments of RemoteConnection from being used.

Closes appium#855

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01PjZRpyoEfSCLjTx5ctzQmJ

…ndpoint

When the server decorates the new session response with the directConnect*
capabilities, the client rebuilt its command executor out of the endpoint URL
alone. That silently dropped every setting of the AppiumClientConfig given by
the user, including the read timeout, the pool manager arguments, the proxy,
the CA bundle and the authentication credentials, and downgraded the config
instance to a plain selenium ClientConfig.

The most visible consequence was that the documented way of configuring a read
timeout had no effect on such sessions, so a hanging server call never timed
out. Reuse a copy of the current configuration and only replace the endpoint it
points to instead. Copying keeps the instance given by the user untouched.

It also stops the deprecated remote_server_addr/keep_alive constructor
arguments of RemoteConnection from being used.

Closes appium#855

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PjZRpyoEfSCLjTx5ctzQmJ
@Dor-bl
Dor-bl force-pushed the claude/upstream-issue-fix-50rwr8 branch from d486363 to 9bfcc07 Compare September 5, 2026 06:00
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.

bug: Unable to timeout find_elements and webdriver.Remote

2 participants