Skip to content

Add-on Store: disabled add-ons should be checked for updates #15029

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

Closed
XLTechie opened this issue Jun 19, 2023 · 2 comments · Fixed by #15860
Closed

Add-on Store: disabled add-ons should be checked for updates #15029

XLTechie opened this issue Jun 19, 2023 · 2 comments · Fixed by #15860
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

@XLTechie
Copy link
Collaborator

Steps to reproduce:

  1. Disable an add-on which has an update available.
  2. Restart NVDA.
  3. Check for available updates.

Actual behavior:

The add-on isn't listed as having any updates.

Expected behavior:

Even though the add-on is disabled, if it has an update in the store, that update should be available to install.

Reasoning:

If a version of an add-on is broken with respect to current NVDA, and it must be disabled in order to access the store, there is no way to acquire an updated version even if the store has one, short of removing the add-on, or going external.

Alternate: a version of an add-on currently does something I don't like. The newly released version fixes the issue. I don't want to enable it until I upgrade. I can't currently upgrade without enabling.

Example:
I currently have an external version (dev, though that doesn't matter) of an add-on installed.

Something about the latest alpha of NVDA doesn't cooperate with that version, and it breaks the speech.speech.speak method.
There is a stable version with a higher version number available in the store.

Because the add-on is preventing the store (and many other things) in NVDA from working, I can't leave it enabled when checking for updates. However if I disable it, NVDA doesn't show any updates available. Nor does it show in the store's list of available add-ons, so obviously NVDA recognizes that these are the same add-on.

Installed, it is 23.1.0-dev6 (external).
The store currently includes 23.1.1 (stable) of this add-on.
No update is offered while the add-on is disabled.

NVDA logs, crash dumps and other attachments:

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

alpha-28447,cc222a06

Windows version:

10 Home 22H2

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

Other information about your system:

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?

Yes

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

Yes

@CyrilleB79
Copy link
Collaborator

Note that @joseph's Add-on Updater checks for disabled add-ons and reenables them if updated. A message first asks for confirmation.

@josephsl if you have time, maybe you can comment on this use case. Why add-ons are reenabled when updated? (technical limitation or UX optimization?) Any user complaining of the current behaviour?

Add-on Updater has proven to be satisfying over the years, so we should think twice before handling things differently.

@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 Jun 20, 2023
@josephsl
Copy link
Collaborator

josephsl commented Oct 3, 2023

Hi,

When updating diabled add-ons, NVDA is responsible for removing the add-on from disabled add-ons list, causing the updated version to be enabled.

There is a separate issue that has popped up in recent weeks: in add-on store, cannot check for updates for add-ons forcefully enabled despite marked as incompatible. I'll raise a separate issue and will mention this one as the new issue will involve alpha snapshots.

Thanks.

seanbudd added a commit that referenced this issue Dec 4, 2023
Fixes #15029
Fixes #15568

Summary of the issue:
Disabled add-ons were not listed in the updatable add-ons tab.
Add-ons with overridden compatibility were also not listed in the updatable add-ons tab.
Disabled incompatible add-ons should trigger the dialog to override when attempting to update.

Add-on statuses were the same for each tab of the add-on store, this limited determining actions for the add-on.

Description of user facing changes
Add-on status is now contextual. to the add-on store tab Updatable/downloadable information is only shown on the updatable and available add-ons tab. Installed add-ons tabs now only show statuses relevant to installed add-ons. This means "update available" and "downloaded, pending install" will not be listed in the installed add-ons tab.

Disabled and incompatible add-ons can now be updated.

Description of development approach
Created a new status and action for incompatible add-ons with an incompatible update available.

Ensure available and updatable statuses are checked before statuses for installed add-ons.
Ensure available and updatable statuses are only checked for their relevant tabs.
This means disabled and incompatible add-ons return updatable status before checking their disabled/compatibility state.
@nvaccessAuto nvaccessAuto added this to the 2024.1 milestone Dec 4, 2023
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

Successfully merging a pull request may close this issue.

5 participants