-
-
Notifications
You must be signed in to change notification settings - Fork 701
Encapsulate NVDA state write paths #15021
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
Conversation
I have a known issue to this, do I submit it here or create a new issue? This is an API breaking change that unexpectedly broke some add-ons available, I think, through the store. At least one of them. |
Please create a new issue - thanks |
@ultrasound1372 , if you are talking about applicationDictionary add-on, I have already noticed the problem and we are going to fix that still this week... |
That and enhanced dictionaries. Looking at the code it looks like there is supposed to be an alias and deprecation warning but it doesn't seem to work. |
@ultrasound1372 , it works, but the information given by @seanbudd is missleading... |
@seanbudd , if this broke, at least two add-ons, it should not be done in 2024.1? |
As mentioned earlier - please open an issue so we can track this. Note, that removing relative imports is not an API breaking change. API consumers should import symbols from the original place. For example, |
Follow up of #15021 Summary of the issue: The deprecation was incorrectly documented, missing the module name and referring to NVDAState.WritePaths.speechDictsDir instead of WritePaths.speechDictsDir. The change also caused some issues for add-ons who were relying on the deprecated code being imported into a different module. Description of user facing changes N/A Description of development approach For ease of use, compatibility for the imported code has been retained, despite not being an API breaking change. Documentation of the deprecation has been fixed.
Closes #15614 Summary of the issue: speechDictHandler.speechDictVars was marked as deprecated in PR #15021. Unfortunately since the module was not imported anywhere in core py2exe failed to bundle it, which made it impossible to import this code in binary versions of NVDA. Additionally warning which was raised when importing speechDictHandler.speechDictVars was problematic when building developer documentation. Since this API breakage was already included in two releases of NVDA, it was decided to remove the code and document the removal. Description of user facing changes None - this only removes deprecated code. Description of development approach The deprecated code is removed. Change log is updated to document the removal for add-ons developers.
Link to issue number:
None
Summary of the issue:
NVDA uses a variety of paths to write to.
These can be hard to discover or track in the code, as write paths are not stored in globally available named symbols.
For example, if a developer wishes to find code instances where NVDA writes to the profile config directory, searching "profile" will yield additional results, e.g. code comments.
Description of user facing changes
N/A
Description of development approach
Created a centralised class to list all available write paths in NVDA.
This improves discoverability of write paths.
Testing strategy:
Ran NVDA, tested saving some config options.
Known issues with pull request:
None
Change log entries:
For Developers
Code Review Checklist: