Skip to content

Remove deprecated code from Remote Access#19077

Merged
SaschaCowley merged 3 commits into
masterfrom
useDisplayDimensionsNotSize
Oct 17, 2025
Merged

Remove deprecated code from Remote Access#19077
SaschaCowley merged 3 commits into
masterfrom
useDisplayDimensionsNotSize

Conversation

@SaschaCowley

Copy link
Copy Markdown
Member

Link to issue number:

Closes #18831

Summary of the issue:

Remote Access was using the deprecated braille.filter_displaySize extension point.

It was also using displaySize instead of displayDimensions.numCols, meaning that in the case that a user with a multi-line display was controlling a computer with a single-line display that was wider than the leader's display, braille from the follower would wrap at the width of the leader display. While this would not result in information loss, it was unexpected behaviour.

Description of user facing changes:

In remote access sessions where one or more users have multi-line braille displays connected, only the width of these displays will be considered when finding the shared display width. For instance, if leader connects with a DotPad (8x20 cells) and follower connects with a Hims Brailleedge 40 (1x40 cells), the display width for the session will be constrained to 20 cells.

Description of developer facing changes:

None

Description of development approach:

Replace usage of braill.filter_displaySize with braille.filter_displayDimensions in _remoteClient.session. Also renamed _remoteClient.localMachine.LocalMachine.handleFilterDisplaySize to _handleFilterDisplayDimensions.

Replace usages of braille.handler.displaySize with braille.handler.displayDimension.numCols where appropriate in _remoteClient.

Testing strategy:

Created a session in which the leader was using a DotPad and the follower was using a Brailleedge40.

Known issues with pull request:

Users may desire the existing behaviour of all rows of multi-line displays being considered.

We cannot support multi-line displays over Remote Access without changing the protocol. NV Access does not have a clear policy on when we can change the Remote Access Protocol and in what ways.

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@SaschaCowley SaschaCowley requested a review from a team as a code owner October 10, 2025 02:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR removes deprecated braille display size filtering code from the Remote Access module and replaces it with the newer display dimensions API. The main purpose is to modernize the braille handling to use proper display dimensions while addressing an issue where multi-line braille displays were incorrectly wrapping content.

  • Replaces deprecated braille.filter_displaySize with braille.filter_displayDimensions
  • Updates braille dimension handling to use numCols instead of displaySize
  • Renames and refactors the display size filtering method to handle dimensions properly

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
source/_remoteClient/session.py Updates braille filtering registration and sendBrailleInfo method to use display dimensions
source/_remoteClient/localMachine.py Refactors display size handling to use numCols and implements proper dimension filtering

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread source/_remoteClient/localMachine.py
Comment thread source/_remoteClient/session.py Outdated
@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Oct 14, 2025
@SaschaCowley SaschaCowley enabled auto-merge (squash) October 17, 2025 03:39
@SaschaCowley SaschaCowley merged commit 59ecbc8 into master Oct 17, 2025
52 of 55 checks passed
@SaschaCowley SaschaCowley deleted the useDisplayDimensionsNotSize branch October 17, 2025 05:25
@github-actions github-actions Bot added this to the 2026.1 milestone Oct 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remote Access, session.py, using deprecated braille.filter_displaySize

3 participants