Improve Remote Access's consistency regarding connections#18600
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request improves the consistency of NVDA Remote Access's connection handling by fixing several issues related to connection state management. The changes ensure proper state tracking during connection attempts and prevent inconsistent behavior when users try to abort or create multiple sessions.
- Replace the public
connectingattribute with an internal_connectingattribute and a newisConnectingproperty that provides more accurate connection state information - Update connection state tracking in more places throughout the connection lifecycle
- Prevent users from creating new sessions while already connecting and allow proper disconnection during connection attempts
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| user_docs/en/changes.md | Adds changelog entry documenting the bug fix for interrupted sessions |
| tests/unit/test_remote/test_remoteClient.py | Adds stub method for test compatibility |
| source/globalCommands.py | Updates gesture handlers to use new isConnecting property instead of connecting attribute |
| source/_remoteClient/client.py | Main implementation changes including state management improvements and new isConnecting property |
seanbudd
approved these changes
Aug 1, 2025
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.
Link to issue number:
Fixes #18476
Fixes #18383
Fixes #18106
Summary of the issue:
NVDA Remote Access currently:
Description of user facing changes:
Fixed the above issues.
Description of developer facing changes:
The
connectingattribute ofRemoteClientis now marked internal. It has been replaced by theisConnectingproperty, which synthesizes its return from more sources.Description of development approach:
_connectingin more places.RemoteClient._connectingwithRemoteClient.isConnecting, as this reports whether RA is connecting or reconnecting.Testing strategy:
Set up Remote Access to automatically connect on NVDA start-up. Tried starting NVDA with my remote access server running and not running. In both states, tried disconnecting and creating new connections etc.
Known issues with pull request:
The dialog presented to users when cancelling a session is the same regardless of whether they are in the connecting or connected state. I am not sure if this is a major issue.
Code Review Checklist:
@coderabbitai summary