Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rc to beta #17551

Merged
merged 3 commits into from
Dec 19, 2024
Merged

Rc to beta #17551

merged 3 commits into from
Dec 19, 2024

Conversation

seanbudd
Copy link
Member

@seanbudd seanbudd commented Dec 19, 2024

Summary by CodeRabbit

  • New Features

    • Added support for Windows 10, including notifications and emoji panel.
    • Enhanced automatic detection and support for various braille displays.
    • Improved performance, particularly in web browsers and Microsoft Office.
    • Enhanced support for mathematical content with MathML and equations.
    • New text navigation features, including reporting font attributes and table headers.
  • Bug Fixes

    • Various bug fixes across multiple applications and scenarios.
  • Version Update

    • Minor version number updated from 1 to 2.

SaschaCowley and others added 3 commits December 17, 2024 14:29
* Added changes section
* Bumped minor version
…17526)

Partially fixes #17518

Summary of the issue:
Some HumanWare devices do not report the number of cells in their HID capabilities report. This is the case for Brailliant BI 40X since firmware 2.4.

Description of user facing changes
The Brailliant BI 40X and similar display with firmware version 2.4 is working correctly again.

Description of development approach
This PR fixes the issue by using the HID output report size to calculate the number of cells. If the device reports a cell count, this is still being used.

Testing strategy:
Tested with a Brailliant BI 40X over Bluetooth.

Known issues with pull request:
Since firmware 2.4 this device is recognized by the Standard HID driver over Bluetooth. However, the keys do not work using that driver. This PR does not fix the Standard HID driver.
Fixes #17421

Summary of the issue:
Chromium-browsers were changed to return E_NOTIMPL and broke speech and braille of all math equations (i.e., no speech or braille for math) in those browsers because NVDA passes along a 'not implemented' COM exception.

Description of user facing changes
This restores the behavior of NVDA (i.e., math reads) as before the change.

Description of development approach
A try/except block is added around the call. If the error is E_NOTIMPL, the code moves on as before. Otherwise, the error is re-raised as before.
@seanbudd seanbudd requested a review from a team as a code owner December 19, 2024 02:29
@seanbudd seanbudd merged commit 3989254 into beta Dec 19, 2024
2 of 6 checks passed
@github-actions github-actions bot added this to the 2025.1 milestone Dec 19, 2024
Copy link
Contributor

coderabbitai bot commented Dec 19, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

This pull request introduces changes across multiple files in the NVDA project. The modifications include improved error handling for MathML attribute retrieval in web accessibility, enhanced initialization logic for Braille display drivers, a minor version number update, and documentation of new features and improvements. The changes aim to improve the robustness and functionality of the NVDA screen reader, with a focus on better error management and device support.

Changes

File Change Summary
source/NVDAObjects/IAccessible/ia2Web.py Added E_NOTIMPL import and enhanced _get_mathMl method with improved error handling for COMError exceptions
source/brailleDisplayDrivers/brailliantB.py Modified _initAttempt method to more robustly determine the number of cells for HID devices
source/buildVersion.py Updated version_minor from 1 to 2
user_docs/en/changes.md Updated documentation with new features, including Windows 10 support, braille display improvements, and performance enhancements

Sequence Diagram

sequenceDiagram
    participant Math Class
    participant COM Interface
    participant Error Handler
    
    Math Class->>COM Interface: Attempt to get MathML
    alt MathML retrieval successful
        COM Interface-->>Math Class: Return MathML
    else MathML not implemented
        COM Interface-->>Error Handler: Raise E_NOTIMPL
        Error Handler->>Math Class: Set attribute to None
    else Other COM Error
        COM Interface-->>Error Handler: Raise COMError
        Error Handler->>Error Handler: Log debug warning
        Error Handler->>Error Handler: Re-raise exception
    end
Loading

Possibly related PRs

Suggested reviewers

  • Qchristensen

📜 Recent review details

Configuration used: .coderabbit.yml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ebf2b2b and 9390788.

📒 Files selected for processing (4)
  • source/NVDAObjects/IAccessible/ia2Web.py (2 hunks)
  • source/brailleDisplayDrivers/brailliantB.py (1 hunks)
  • source/buildVersion.py (1 hunks)
  • user_docs/en/changes.md (1 hunks)

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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.

4 participants