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

For an add-on that overrides compatibility and is enabled, an AssertionError is raised if an add-on with the same ID is installed from an external source #15417

Closed
cary-rowen opened this issue Sep 10, 2023 · 5 comments
Labels
feature/addon-store Features / behavior of the add-on Store p5 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Milestone

Comments

@cary-rowen
Copy link
Contributor

Steps to reproduce:

  1. Install the compatibility-breaking version of NVDA-Alpha.
  2. Override compatibility to install or enable any add-ons.
  3. Install the add-on again from an external source with the same ID as in step 2 (can be a different version).

Actual behavior:

The add-on could not be installed and an assertion error was received.

IO - speech.speech.speak (18:36:21.549) - MainThread (14180):
Speaking ['Log fragment start position marked, press again to copy to clipboard']
IO - inputCore.executeGesture (18:36:22.844) - winInputHook (8628):
Input: kb(laptop):enter
DEBUG - RPC process 4688 (nvda_slave.exe) (18:36:23.029) - Dummy-9 (12660):
languageHandler.setLocale:
Win32 locale string from locale code is Chinese (Simplified)_China.936
DEBUG - RPC process 4688 (nvda_slave.exe) (18:36:23.077) - Dummy-9 (12660):
languageHandler._setPythonLocale:
set python locale to Chinese (Simplified)_China.936
DEBUG - NVDAHelper.nvdaControllerInternal_installAddonPackageFromPath (18:36:23.131) - Dummy-9 (12660):
Requesting installation of add-on from D:\git\teleNVDA\TeleNVDA-2023.9.7-dev.nvda-addon
IO - speech.speech.speak (18:36:23.497) - MainThread (14180):
Speaking ['英文']
IO - speech.speech.speak (18:36:23.518) - MainThread (14180):
Speaking ['Add-on not compatible', 'dialog', 'Warning: add-on is incompatible: Tele NVDA remote assistance\n2023.9.7-dev. Check for an updated version of this add-on if\npossible. The last tested NVDA version for this add-on is 2023.1,\nyour current NVDA version is 2024.1. Installation may cause unstable\nbehavior in NVDA.\nProceed with installation anyway? ', CancellableSpeech (still valid)]
IO - speech.speech.speak (18:36:23.523) - MainThread (14180):
Speaking ['About add-on...', 'button', 'Alt+', CharacterModeCommand(True), 'a', CharacterModeCommand(False), CancellableSpeech (still valid)]
IO - inputCore.executeGesture (18:36:36.725) - winInputHook (8628):
Input: kb(laptop):y
ERROR - unhandled exception (18:36:36.740) - MainThread (14180):
Traceback (most recent call last):
  File "wx\core.pyc", line 3407, in <lambda>
  File "gui\addonGui.pyc", line 584, in handleRemoteAddonInstall
  File "gui\addonGui.pyc", line 487, in installAddon
  File "_addonStore\models\version.pyc", line 65, in enableCompatibilityOverride
AssertionError
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IAccessibleRole (18:36:36.806) - MainThread (14180):
accRole failed: (-2147024809, '参数错误。', (None, None, None, 0, None))
IO - speech.speech.speak (18:36:36.892) - MainThread (14180):
Speaking ['y', EndUtteranceCommand()]
IO - speech.speech.speak (18:36:36.976) - MainThread (14180):

Expected behavior:

The add-on should be installed.
If an installed add-on is disabled, an add-on with the same ID can be installed successfully.

NVDA logs, crash dumps and other attachments:

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

NVDA-alpha-29134

Windows version:

Windows 10 22H2 (AMD64) build 19045.3393

Name and version of other software in use when reproducing the issue:

None

Other information about your system:

None

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

no

If NVDA add-ons are disabled, is your problem still occurring?

No

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

@seanbudd seanbudd added this to the 2023.3 milestone Sep 11, 2023
@seanbudd
Copy link
Member

@cary-rowen You say in step 3 that you can use a different version. Can you confirm that this only happens if the version you are installing is also incompatible?

@cary-rowen
Copy link
Contributor Author

Hi @seanbudd

Yes, this happens even with the same version.

@seanbudd seanbudd added p5 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. feature/addon-store Features / behavior of the add-on Store labels Sep 11, 2023
@seanbudd
Copy link
Member

@cary-rowen - I was hoping to confirm the opposite:

Does this happen if the version you are installing is compatible with the current API version? Or does this only happen when installing the same version, or another incompatible version?

@cary-rowen
Copy link
Contributor Author

cary-rowen commented Sep 11, 2023

@seanbudd

The test results of several combinations are as follows:

NVDA API Version Add-on Last Tested NVDA Version Installed Add-on Status Operation Result
2024.1.0 2023.1.0 Not installed yet Install from external source Successful
2024.1.0 2023.1.0 Override compatibility and enabled Update from external source AssertionError
2024.1.0 2023.1.0 Disabled Update from external source Successful
2024.1.0 2024.1.0 Not installed yet Install from external source Successful
2024.1.0 2024.1.0 Override compatibility and enabled Update from external source Successful
2024.1.0 2024.1.0 Enabled Update from external source Successful
2024.1.0 2024.1.0 Disabled Update from external source Successful
2024.1.0 2023.1.0 Enabled Update from external source Installed successfully but disabled

@seanbudd
Copy link
Member

thank you, very thorough

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/addon-store Features / behavior of the add-on Store p5 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

No branches or pull requests

2 participants