Repository navigation
New addon api versioning approach #9151
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
0300289
Move version string regex add tests
feerrenrut 2e939a0
Replace compatibility checks
feerrenrut d2f8c53
Keep API versions as tuples
feerrenrut a3723f6
Dont show incompat addons dialog on startup
feerrenrut ff117c9
fix logic error: enable show incompat addons dialog button
feerrenrut 7c15c4d
Remove need to manually call destroy on IncompatibleAddonsDialog
feerrenrut 07de7d1
Fix freeze on exit when destroy not called manually for AutoWidthColu…
feerrenrut 79dff12
Ensure confirmation checkbox has focus for all installer warnings
feerrenrut 3fb5087
Set a new, more accurate label
feerrenrut 8270385
Fix wording of button
feerrenrut 6096af2
Re-order params and make them not optional.
feerrenrut b0e79f2
Add an "addon information" button to the incompatible addons list dialog
feerrenrut ef10db5
Removes unnecessary code
feerrenrut 9d7eb43
Validate manifest condition: minRequiredVersion <= lastTested
feerrenrut b8f22de
update the user guide
feerrenrut beb0343
remove unnecessary check for manifest errors
feerrenrut 03bcf42
Raise error for failed audioducking unless its access denied
feerrenrut 222276a
improve consitency of messages for incompatible addons
feerrenrut d07981e
Further consistency of wording in GUI
feerrenrut 896b2be
Review actions for #9151
feerrenrut c3ba83c
Extract version formatting into functions
feerrenrut b75bbcc
use `_setStateToNone(state)` to initialise state dict
feerrenrut 0de603e
Fix userguide wording.
feerrenrut 69d8b0a
Audio ducking failed warning
feerrenrut 9ba7b77
Addon install warning / error dialog sounds
feerrenrut c9da315
Use context manager for writing to file.
feerrenrut 42d6eb4
Stop incompatible addons from mutating the disabled state of addons.
feerrenrut f18136c
fix translator comment errors
feerrenrut 250a46d
Review actions #9151
feerrenrut 30de90f
Try to reduce confusion in the addToPackagePath method
feerrenrut 5e77fcb
Improve comment in `addToPackagePath`
feerrenrut d62d356
Remove unused function
feerrenrut a6b45f0
Tidy addon installation
feerrenrut db76178
Clarified formatting of version strings.
feerrenrut 89281cc
Renamed _showAddonUntestedDialog
feerrenrut 47640ff
Updated developer guide.
feerrenrut 0883ef8
Update changes file for #9151
feerrenrut File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Extract version formatting into functions
Review actions for #9151
- Loading branch information
commit c3ba83c56c980cfb6c3c37f1315d1c729a78062e
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I realised that this will still print versions like "2019.1.0" when used in the gui, in the incompatible add-ons dialog for example. There is also some overlap with addonAPIVersion.formatAsString
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.
Yes, I think it's important to consider the difference between version strings and (essentially) release name. In the release name, you definitely don't won't any extra unnecessary detail. In the version string you want it to be explicit. We don't want any doubt about with someone is having trouble with 2019.1.0 or 2019.1.1. In the incompatible add-ons dialog, which is essentially a diagnostics screen now, I would argue that presenting a slightly more technical version of the information is appropriate. I was thinking the same thing for the "about add-on" dialog.
In terms of overlap, there is some overlap. Though it's fairly minor. I think it's a good idea to keep the concepts of api version and nvda separate.
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.
This makes sense, as long as we explicitly state "NVDA api version" (not NVDA version) when mentioning the version number in the incompatible dialogs.
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.
I've been thinking about this over the last few days, I'm questioning this a little.
addonAPIVersion.CURRENTwill always equal the version number,addonAPIVersion.BACK_COMPAT_TOwill always be equal to a some pastaddonAPIVersion.CURRENTversion. For end users it's probably easiest for these to be referred to as NVDA versions, otherwise we risk confusion along the lines of "well what version of NVDA do I have to install to get THAT API version", but most likely they will assume they are equal anyway. For add-on authors, its important to realise that its the API changes that they need to care about, rather than the NVDA versions, this is a subtle difference. I'll look at implementing changing this so that one is implemented in terms of the other. There is also the distinction of end user (E.G. in the GUI) facing version strings, and developer facing ones (exe properties, log files)