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

Drop support for SecureDesktopNVDAObject, replace with an extension point #14137

Closed
seanbudd opened this issue Sep 13, 2022 · 0 comments · Fixed by #14488
Closed

Drop support for SecureDesktopNVDAObject, replace with an extension point #14137

seanbudd opened this issue Sep 13, 2022 · 0 comments · Fixed by #14488
Labels
api-breaking-change audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers merge-early Merge Early in a developer cycle p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Milestone

Comments

@seanbudd
Copy link
Member

seanbudd commented Sep 13, 2022

Is your feature request related to a problem? Please describe.

SecureDesktopNVDAObject is used to notify the user and API consumers that NVDA has entered a secure desktop.
This creates a valid NVDAObject, backed by the secure desktop.
The running instance of NVDA enters sleep mode when SecureDesktopNVDAObject is focused, signifying a switch to a secure desktop. Then a new instance of NVDA in secure mode starts on the secure desktop.
The SecureDesktopNVDAObject is unused, apart from being an API endpoint to notify consumers, as NVDA sleeps after it is created.

Handling SecureDesktopNVDAObject requires special cases to be constructed.

NVDA generally uses extension points for this API use case.

Describe the solution you'd like

Drop support for SecureDesktopNVDAObject, replace with an extension point

Describe alternatives you've considered

Continue support for SecureDesktopNVDAObject

Additional context

Considered due to the work in #14105, #14116

@seanbudd seanbudd added audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers api-breaking-change labels Sep 13, 2022
@seanbudd seanbudd added this to the 2023.1 milestone Sep 13, 2022
@seanbudd seanbudd added p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. labels Sep 15, 2022
@seanbudd seanbudd added the merge-early Merge Early in a developer cycle label Jan 2, 2023
@seanbudd seanbudd modified the milestones: 2023.1, 2024.1 Feb 13, 2023
seanbudd added a commit that referenced this issue Sep 7, 2023
Fixes #14137

Summary of the issue:
SecureDesktopNVDAObject is used to notify the user and API consumers that NVDA has entered a secure desktop.
This creates a valid NVDAObject, backed by the secure desktop.
The running instance of NVDA enters sleep mode when SecureDesktopNVDAObject is focused, signifying a switch to a secure desktop. Then a new instance of NVDA in secure mode starts on the secure desktop.
The SecureDesktopNVDAObject is unused, apart from being an API endpoint to notify consumers, as NVDA sleeps after it is created.

Handling SecureDesktopNVDAObject requires special cases to be constructed.

NVDA generally uses extension points for this API use case.

Description of user facing changes
None

Description of development approach
SecureDesktopNVDAObject is replaced with an extension point that only provides a boolean state on the existence of the secure desktop.
A fake NVDAObject is used to enable sleep mode while the secure desktop is active.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-breaking-change audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers merge-early Merge Early in a developer cycle p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant