-
-
Notifications
You must be signed in to change notification settings - Fork 652
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
Use UIA caret events in Windows Terminal #16873
Use UIA caret events in Windows Terminal #16873
Conversation
WalkthroughThis update modifies the NVDA project by updating the Changes
Possibly related issues
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? TipsChatThere are 3 ways to chat with CodeRabbit:
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 as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
26e498b
to
882409e
Compare
882409e
to
c75e7f2
Compare
c75e7f2
to
b4bf5ac
Compare
See test results for failed build of commit 9598665ceb |
@@ -450,6 +450,10 @@ def event_UIA_notification(self, **kwargs): | |||
"Block notification events when diffing to prevent double reporting." | |||
log.debugWarning(f"Notification event blocked to avoid double-report: {kwargs}") | |||
|
|||
def _get_caretMovementDetectionUsesEvents(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it really necessary to make this an auto prop?
def _get_caretMovementDetectionUsesEvents(self): | |
caretMovementDetectionUsesEvents = True |
Also, the default is supposed to be True, so I'm confused about why this override is necessary here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, the default is supposed to be True, so I'm confused about why this override is necessary here.
The value is False
in this case, because the diffing-based implementation inherits from EnhancedTermTypedCharSupport
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, this is an auto property for consistency with the base class.
This reverts commit 067c8a9.
Reverts #16873. Summary of the issue: When backspacing beyond the leftmost character of a line in Windows Terminal, the last character of the prompt is erroneously read in some environments. Some caret tracking issues (especially when connected to remote systems) are more apparent. Description of how this pull request fixes the issue: Revert the new behaviour until it can be fixed upstream or a workaround can be found. Testing strategy: Verified restoration of previous behaviour and that caret tracking works as before.
Link to issue number:
Follow-up of #16711, #16817.
Summary of the issue:
UIA caret events in Windows Terminal were unreliable before #16711. In particular, when rapidly pressing backspace, sometimes the last character of the prompt would be erroneously read.
Description of how this pull request fixes the issue:
Re-enable caret events in Windows Terminal specifically. Note that caret events are still broken in this way in Conhost and are therefore left disabled.
Testing strategy:
Active daily use of an NVDA build containing this change, much of which is in Windows Terminal. Alpha testing.
Known issues with pull request:
None known
Code Review Checklist:
Summary by CodeRabbit
Improvements
Bug Fixes