Conversation
See test results for failed build of commit 03a31808b0 |
|
Merging this PR will reintroduce #12629, fixed in #12792. |
|
Tanks for tagging me. Actually, with this PR, if an add-on cannot be removed, it will not show up anymore in the installed add-on list (as pending remove). More generally, about #12629, we can accept that in such situation, the add-on fails to install and does not try again at next restart. But in this case, the user should be warned of this failure. |
|
Agreed - I don't see how this reopens #12629. After a failed install is cleaned up it can always be re-installed. |
This reverts commit 81e17be.
…s, removals and updates cannot complete (#15937) Reverts #15921 Closes #12823 Addresses the most likely cause of #15719 Hopefully fixes #15927 Summary of the issue: PR #15921 started removing all add-ons which failed to be installed without showing warnings to the user. Users generally expect NVDA to attempt installation / removal of add-ons on the next restart if they failed, to have a warning when one of these operations didn't succeed and not to be able to install add-on which is not fully removed from Add-ons Store. Description of user facing changes When one or more add-ons fails to be updated, uninstalled or installed, NVDA shows an appropriate warning on startup. Installation / removal is attempted on the next restart. When add-on is pending remove it is shown in the Add-ons Store along with the 'pending remove' status. All add-ons which are no longer present on disk are removed from the list of pending installs to hopefully improve #15719. Description of development approach NVDA stores add-ons whose installation / removal failed in a list. All these add-ons are not loaded ,but shown in the Add-ons Store. These lists are used to determine what warnings should be shown to the user. List of pending installs is cleaned-up from add-ons which are no longer present on disk, excluding these which failed to be installed, as their install is going to be attempted on the next restart.
Fixes nvaccess#15719 Summary of the issue: If an add-ons install failed, it might never be cleaned up, causing NVDA to be constantly expecting there are add-ons pending install. This causes a warning dialog that NVDA must be restarted when closing the add-on store. Description of user facing changes Pending installs that fail are removed and cleaned up, ensuring it is easy to attempt a future install. The warning dialog no longer fires as NVDA cleans up failed installs. Description of development approach Clear the pending install set and delete pending install add-on folders after loading add-ons. When loading add-ons, all installs should complete, and there should be no new pending installs from the user. If an install fails, also attempt to clean up the files immediately after.
…s, removals and updates cannot complete (nvaccess#15937) Reverts nvaccess#15921 Closes nvaccess#12823 Addresses the most likely cause of nvaccess#15719 Hopefully fixes nvaccess#15927 Summary of the issue: PR nvaccess#15921 started removing all add-ons which failed to be installed without showing warnings to the user. Users generally expect NVDA to attempt installation / removal of add-ons on the next restart if they failed, to have a warning when one of these operations didn't succeed and not to be able to install add-on which is not fully removed from Add-ons Store. Description of user facing changes When one or more add-ons fails to be updated, uninstalled or installed, NVDA shows an appropriate warning on startup. Installation / removal is attempted on the next restart. When add-on is pending remove it is shown in the Add-ons Store along with the 'pending remove' status. All add-ons which are no longer present on disk are removed from the list of pending installs to hopefully improve nvaccess#15719. Description of development approach NVDA stores add-ons whose installation / removal failed in a list. All these add-ons are not loaded ,but shown in the Add-ons Store. These lists are used to determine what warnings should be shown to the user. List of pending installs is cleaned-up from add-ons which are no longer present on disk, excluding these which failed to be installed, as their install is going to be attempted on the next restart.
Link to issue number:
Fixes #15719
Summary of the issue:
If an add-ons install failed, it might never be cleaned up, causing NVDA to be constantly expecting there are add-ons pending install.
This causes a warning dialog that NVDA must be restarted when closing the add-on store.
Description of user facing changes
Pending installs that fail are removed and cleaned up, ensuring it is easy to attempt a future install.
The warning dialog no longer fires as NVDA cleans up failed installs.
Description of development approach
Clear the pending install set and delete pending install add-on folders after loading add-ons.
When loading add-ons, all installs should complete, and there should be no new pending installs from the user.
If an install fails, also attempt to clean up the files immediately after.
Testing strategy:
Tested in source code by forcing an add-on to be in the pending install set, and preventing the "pendingInstall" folder of an add-on be renamed/moved.
Known issues with pull request:
None
Code Review Checklist: