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

Add ability to check for, download, and apply add-on updates #6930

Closed
wants to merge 94 commits into from

Commits on Jan 27, 2017

  1. Add-ons Manager: introduce a non-functioing add-on update button that…

    … shows a message. re nvaccess#3208.
    
    First of a series of foundations for add-on update facility: add a 'Check for Add-on Update' (shortcut: U) that'll let users update installed add-ons. For now, the button is non-functional - shows a message box until the client is working.
    josephsl committed Jan 27, 2017
    Configuration menu
    Copy the full SHA
    e6a4e32 View commit details
    Browse the repository at this point in the history
  2. Add-on handler: add a new function to check for add-on updates, add-o…

    …ns manager progress dialog changes. re nvaccess#3208.
    
    Add-on handler: add a new function (checkForAddonUpdates) that'll allow NvDA to check for add-on updates. This is to be used from add-ons manager (manual) or when NVDA starts (automatic). The goal of this function is to gather add-on listings, connect online to retrieve add-on update information, and return this info in a format that a new add-on update result dialog will use to display and download add-on bundles. The add-on update check should not run if NVDA itself is being updated (NvDA Core takes precedence).
    In add-ons manager, the progress bar dialog used for add-on installation is now an attribute of the dialog itself, as it is now used for update status message as well. Also, update check button briefly displays progress dialog and returns to add-ons manager. Eventually a new add-on update result dialog will be added that'll display add-on update info returned by addonHandler.checkForAddonUpdates and download new bundles.
    josephsl committed Jan 27, 2017
    Configuration menu
    Copy the full SHA
    34f69e0 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2017

  1. Configuration menu
    Copy the full SHA
    d2f062c View commit details
    Browse the repository at this point in the history
  2. Add-ons Manager: a prototype of add-on update results dialog and add-…

    …on check emulation in addonHandler.checkForAddonUpdates function. re nvaccess#3208.
    
    A prototype of add-on update check results dialog has been implemented:
    * When 'update add-ons' button is pressed, a background thread will call addonHandler.checkForAddonUpdates. This function will emulate a typical add-on update check routine by sleeping for three seconds, then populating the results dictionary with records of installed add-ons, with add-on names (identifiers) as keys and containing summary and version information.
    * Once update info is retrieved, the update progress bar stops, and a results dialog will be shown. While checking for updates, Add-ons Manager window will be hidden until a suitable way of showing add-on update check progress and results with Add-ons Manager window disabled is found.
    * The AddonUpdatesDialog (the results dialog class) borrows heavily from NVDA Core update results dialog, displaying a list of add-ons with updates (at least emulated) or a message if update info is filled in or not, respectively.
    * For now, when 'update' button is pressed from results dialog, it'll do nothing. Eventually the update button will use a refactored file downloader to download and install updates, using the file path and hash that'll be supplied by the update info dictionary.
    josephsl committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    c8ad161 View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2017

  1. Add-ons Manager: provide a function to update add-ons with no prmopts…

    …. re nvaccess#3208.
    
    Similar to add-on instalaltion routines but with a difference: no prompts will be shown when updating add-ons unless serious errors occur. The new updateAddons function takes a map of new add-ons to be installed, which is a map with add-on identifiers (names) as keys and info such as path as subkeys. This function will be called when user tells NVDA to update add-ons from update results dialog.
    josephsl committed Feb 9, 2017
    Configuration menu
    Copy the full SHA
    a4e8d47 View commit details
    Browse the repository at this point in the history
  2. Add-on handler: introduce a blueprint of add-on update procedure that…

    … involves sending and receiving data in JSON format. re nvaccess#3208.
    
    Javascript Object Notation (JSON) is a handy way to serialize and deserialize data across various systems, including sending data over a network. It can be used to send an receive various data, such as nested dictionaries, lists and so on.
    In case of add-on update checker, JSON wil be employed to store add-on update information from a local NVDA installation, as well as to parse what the update server says about a possible update. A blueprint (pseudo-code) has been provided to spell out what the add-on update checker should do to accomplish its task.
    josephsl committed Feb 9, 2017
    Configuration menu
    Copy the full SHA
    445434a View commit details
    Browse the repository at this point in the history
  3. Add-on updates: use the newly introduced curVersion variable to denot…

    …e currently installed version. re nvaccess#3208.
    josephsl committed Feb 9, 2017
    Configuration menu
    Copy the full SHA
    bf42394 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2017

  1. Configuration menu
    Copy the full SHA
    044a5e8 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2017

  1. Add-on update downloader: initial implementation, add-on download url…

    …s will be fetched from info url value. re nvaccess#3208.
    
    An add-on downloader, based on updateCheck's downloader has been implemented. The only differences are title and content of the progress dialogs, destination path name and extension, and what happens once download completes (installs add-ons).
    In terms of update URL's, the same approach as in NVDA Core: url list will be stored in the update info dictionary.
    The only showstopper is the problem where progress dialogs for add-on downloads won't go away if multiple add-ons are being downloaded and if at least one of them has an installation UI. Once this is fixed, the manual add-on update check is considered complete (the remaining item for the client is automatic update checks, and the rest will be server's job).
    josephsl committed Mar 4, 2017
    Configuration menu
    Copy the full SHA
    e38bae3 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2017

  1. Update add-ons client: added workarounds for add-ons manager focus pr…

    …oblem, update results diallg will now handle the case of no add-on updates. re nvaccess#3208.
    
    Somehow, either because of lack of proficiency in GUI programming (from me) or what not, when add-on update results are displayed, add-ons manager is not focused once that window is closed. This is more so after multiple add-ons are updated at the same time.
    Also, update results dialog will present a message (not a list of add-ons) when no add-on updates are available, as well as laying the foundation for automatic update checks for add-ons via 'auto' variable.
    josephsl committed Mar 5, 2017
    Configuration menu
    Copy the full SHA
    ed7d98f View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2017

  1. Add-ons Manager: introduce a non-functioing add-on update button that…

    … shows a message. re nvaccess#3208.
    
    First of a series of foundations for add-on update facility: add a 'Check for Add-on Update' (shortcut: U) that'll let users update installed add-ons. For now, the button is non-functional - shows a message box until the client is working.
    josephsl committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    ddc9454 View commit details
    Browse the repository at this point in the history
  2. Add-on handler: add a new function to check for add-on updates, add-o…

    …ns manager progress dialog changes. re nvaccess#3208.
    
    Add-on handler: add a new function (checkForAddonUpdates) that'll allow NvDA to check for add-on updates. This is to be used from add-ons manager (manual) or when NVDA starts (automatic). The goal of this function is to gather add-on listings, connect online to retrieve add-on update information, and return this info in a format that a new add-on update result dialog will use to display and download add-on bundles. The add-on update check should not run if NVDA itself is being updated (NvDA Core takes precedence).
    In add-ons manager, the progress bar dialog used for add-on installation is now an attribute of the dialog itself, as it is now used for update status message as well. Also, update check button briefly displays progress dialog and returns to add-ons manager. Eventually a new add-on update result dialog will be added that'll display add-on update info returned by addonHandler.checkForAddonUpdates and download new bundles.
    josephsl committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    0e4ca58 View commit details
    Browse the repository at this point in the history
  3. Add-ons Manager: a prototype of add-on update results dialog and add-…

    …on check emulation in addonHandler.checkForAddonUpdates function. re nvaccess#3208.
    
    A prototype of add-on update check results dialog has been implemented:
    * When 'update add-ons' button is pressed, a background thread will call addonHandler.checkForAddonUpdates. This function will emulate a typical add-on update check routine by sleeping for three seconds, then populating the results dictionary with records of installed add-ons, with add-on names (identifiers) as keys and containing summary and version information.
    * Once update info is retrieved, the update progress bar stops, and a results dialog will be shown. While checking for updates, Add-ons Manager window will be hidden until a suitable way of showing add-on update check progress and results with Add-ons Manager window disabled is found.
    * The AddonUpdatesDialog (the results dialog class) borrows heavily from NVDA Core update results dialog, displaying a list of add-ons with updates (at least emulated) or a message if update info is filled in or not, respectively.
    * For now, when 'update' button is pressed from results dialog, it'll do nothing. Eventually the update button will use a refactored file downloader to download and install updates, using the file path and hash that'll be supplied by the update info dictionary.
    josephsl committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    9b4d2ed View commit details
    Browse the repository at this point in the history
  4. Add-ons Manager: provide a function to update add-ons with no prmopts…

    …. re nvaccess#3208.
    
    Similar to add-on instalaltion routines but with a difference: no prompts will be shown when updating add-ons unless serious errors occur. The new updateAddons function takes a map of new add-ons to be installed, which is a map with add-on identifiers (names) as keys and info such as path as subkeys. This function will be called when user tells NVDA to update add-ons from update results dialog.
    josephsl committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    4bbd2c5 View commit details
    Browse the repository at this point in the history
  5. Add-on handler: introduce a blueprint of add-on update procedure that…

    … involves sending and receiving data in JSON format. re nvaccess#3208.
    
    Javascript Object Notation (JSON) is a handy way to serialize and deserialize data across various systems, including sending data over a network. It can be used to send an receive various data, such as nested dictionaries, lists and so on.
    In case of add-on update checker, JSON wil be employed to store add-on update information from a local NVDA installation, as well as to parse what the update server says about a possible update. A blueprint (pseudo-code) has been provided to spell out what the add-on update checker should do to accomplish its task.
    josephsl committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    5d29337 View commit details
    Browse the repository at this point in the history
  6. Add-on updates: use the newly introduced curVersion variable to denot…

    …e currently installed version. re nvaccess#3208.
    josephsl committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    e13f008 View commit details
    Browse the repository at this point in the history
  7. Add-on update downloader: initial implementation, add-on download url…

    …s will be fetched from info url value. re nvaccess#3208.
    
    An add-on downloader, based on updateCheck's downloader has been implemented. The only differences are title and content of the progress dialogs, destination path name and extension, and what happens once download completes (installs add-ons).
    In terms of update URL's, the same approach as in NVDA Core: url list will be stored in the update info dictionary.
    The only showstopper is the problem where progress dialogs for add-on downloads won't go away if multiple add-ons are being downloaded and if at least one of them has an installation UI. Once this is fixed, the manual add-on update check is considered complete (the remaining item for the client is automatic update checks, and the rest will be server's job).
    josephsl committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    996d3c5 View commit details
    Browse the repository at this point in the history
  8. Update add-ons client: added workarounds for add-ons manager focus pr…

    …oblem, update results diallg will now handle the case of no add-on updates. re nvaccess#3208.
    
    Somehow, either because of lack of proficiency in GUI programming (from me) or what not, when add-on update results are displayed, add-ons manager is not focused once that window is closed. This is more so after multiple add-ons are updated at the same time.
    Also, update results dialog will present a message (not a list of add-ons) when no add-on updates are available, as well as laying the foundation for automatic update checks for add-ons via 'auto' variable.
    josephsl committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    c0d982a View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2017

  1. Configuration menu
    Copy the full SHA
    947a602 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2017

  1. Add-on updates: use generators in order to update add-ons one at a ti…

    …me. re nvaccess#3208.
    
    Noted by Jamie Teh (NV Access) and Leonard from Netherlands: generators are great for doing one thing at a time. For this task, an updateAddonsGenerator will be used to update (download and install) add-ons one at a time. The generator will receive a list of add-ons to be updated, the add-on info for the to be updated add-on will be gather via list.pop, then add-on downloader and instlaler will be told to update add-ons via two kwargs: auto (automatic updates) and and list of add-ons to be updated.
    
    This means:
    * While add-ons are being updated, add-ons manager will be destroyed.
    * Add-ons will be updated one at a time.
    * Success/error methods in add-on downloader will call the generator defined above.
    josephsl committed Mar 24, 2017
    Configuration menu
    Copy the full SHA
    93f8827 View commit details
    Browse the repository at this point in the history
  2. Add-on updates: continue updating even if add-on installation fails. re

    nvaccess#3208.
    
    If for some reason an add-on fails to update, don't just quit right away - allow other add-ons to be updated. This is done by separating the generator caller to a separate function.
    josephsl committed Mar 24, 2017
    Configuration menu
    Copy the full SHA
    a3c36aa View commit details
    Browse the repository at this point in the history
  3. GUI/Settings: add a checkbox in General Settings to check for add-on …

    …updates at startup. re nvaccess#3208.
    
    A new checkbox has been added to General Settings to check for add-on updates at startup. The infrastructure will be next.
    josephsl committed Mar 24, 2017
    Configuration menu
    Copy the full SHA
    4989c1d View commit details
    Browse the repository at this point in the history
  4. Add-on updates: infrastructure to support automatic add-on update che…

    …cks at startup. re nvaccess#3208.
    
    At the end of auto update init code (updateCheck), added a check to allow add-on update check to proceed if NVDA Core isn't ready to be updated. Due to the fact that addonHandler.checkForAddonUpdate blocks, several functions were added to coordinate automatic add-on update checks. Lastly, once add-ons are updated via automatic means, add-ons manager will present the usual add-on change notification.
    josephsl committed Mar 24, 2017
    Configuration menu
    Copy the full SHA
    fa63a2c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a4edc66 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    eb55658 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    de44a11 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2017

  1. Configuration menu
    Copy the full SHA
    7eff6f9 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2017

  1. Configuration menu
    Copy the full SHA
    9c6b3e2 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2017

  1. Merge branch 'master' into i3208-updateAddonsClient

    # Conflicts:
    #	source/gui/addonGui.py
    josephsl committed Oct 6, 2017
    Configuration menu
    Copy the full SHA
    5cf92f5 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2017

  1. Configuration menu
    Copy the full SHA
    389ea51 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2018

  1. Merge branch 'master' into i3208-updateAddonsClient

    # Conflicts:
    #	source/addonHandler.py
    #	user_docs/en/userGuide.t2t
    josephsl committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    34095f1 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2018

  1. Merge branch 'master' into i3208-updateAddonsClient

    # Conflicts:
    #	source/config/configSpec.py
    #	source/gui/settingsDialogs.py
    #	source/updateCheck.py
    #	user_docs/en/userGuide.t2t
    josephsl committed Mar 30, 2018
    Configuration menu
    Copy the full SHA
    2e19aa5 View commit details
    Browse the repository at this point in the history
  2. Update copyright headers

    josephsl committed Mar 30, 2018
    Configuration menu
    Copy the full SHA
    b4dfbdd View commit details
    Browse the repository at this point in the history

Commits on May 8, 2018

  1. Merge branch 'master' into i3208-updateAddonsClient

    # Conflicts:
    #	user_docs/en/userGuide.t2t
    josephsl committed May 8, 2018
    Configuration menu
    Copy the full SHA
    64d1ce6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c94f09a View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2018

  1. Merged master

    josephsl committed Jul 18, 2018
    Configuration menu
    Copy the full SHA
    9ae96e5 View commit details
    Browse the repository at this point in the history
  2. Settings dialog: resolve conflicts regarding add-on update check sett…

    …ings and others in General settings panel. Re nvaccess#3208.
    josephsl committed Jul 18, 2018
    Configuration menu
    Copy the full SHA
    faf6032 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2018

  1. Configuration menu
    Copy the full SHA
    a7a8ec7 View commit details
    Browse the repository at this point in the history
  2. Comment typo fixed

    josephsl committed Jul 22, 2018
    Configuration menu
    Copy the full SHA
    405ab45 View commit details
    Browse the repository at this point in the history
  3. Add-ons manager: hidden while update is in progress. Re nvaccess#3208.

    Instead of being destroyed (which then causes wxPython 4 to raise reference error), add-ons manager will be hidden while add-on update is in progress.
    josephsl committed Jul 22, 2018
    Configuration menu
    Copy the full SHA
    f88e512 View commit details
    Browse the repository at this point in the history
  4. Add-on updates client: sequence changes, installing add-ons in alphab…

    …etical order.
    
    When installing add-ons, pop the first item so updates can proceed alphabetically.
    After installing add-ons, refresh add-ons list, and then show add-ons manager window.
    josephsl committed Jul 22, 2018
    Configuration menu
    Copy the full SHA
    51ee67d View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2018

  1. Configuration menu
    Copy the full SHA
    15fbfb7 View commit details
    Browse the repository at this point in the history
  2. Add-on handler: catch possible exceptions when add-on update fails fo…

    …r some reason. Re nvaccess#3208.
    
    In case add-on update check (particularly automatic checks) fails, set info to None.
    Also, in manifest lookup, name variable will be derived via addon.name property, which simplifies the manifest info storage routinea lot.
    josephsl committed Aug 4, 2018
    Configuration menu
    Copy the full SHA
    3bf6104 View commit details
    Browse the repository at this point in the history
  3. Add-on update check interface: select the first available update entr…

    …y. re nvaccess#3208.
    
    By using a combination of Select and SetState functions, select the first add-on update entry if updates are available. This is the same trick used in ad-dons manager, config profiles dilaog and others for selecting the first entry.
    josephsl committed Aug 4, 2018
    Configuration menu
    Copy the full SHA
    cb9defc View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2018

  1. Configuration menu
    Copy the full SHA
    93df03d View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2018

  1. Configuration menu
    Copy the full SHA
    150cc7f View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2018

  1. Add-on update checks: add ability to select which add-ons should be u…

    …pdated when update dialog is shown. Re nvaccess#3208.
    
    Add checkboxes (list control) to add-on updates dialog so users can select which add-ons should be updated. By default, checkboxes are not checked, but one can check add-ons one wishes to update.
    Also, whenever checkboxes are checked, check if update button should be enabled or not based on if at least one add-on is checked for update installation (via Python's any() function).
    josephsl committed Aug 23, 2018
    Configuration menu
    Copy the full SHA
    587f3d8 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2018

  1. Configuration menu
    Copy the full SHA
    382f620 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    42e4a86 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2018

  1. Update results dialog: enable update button by default, as add-on che…

    …ckboxes will be checked by default.
    josephsl committed Aug 27, 2018
    Configuration menu
    Copy the full SHA
    d9e1a14 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1bd8249 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2018

  1. Configuration menu
    Copy the full SHA
    234251a View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2018

  1. Configuration menu
    Copy the full SHA
    77bf368 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2018

  1. Configuration menu
    Copy the full SHA
    02ad573 View commit details
    Browse the repository at this point in the history
  2. Add-on updates dialog: display add-on update results dialog on startu…

    …p if told to do so via a callback. Re nvaccess#3208.
    
    Possibly due to threading issue: GUI works correctly if queued from the main thread. One way to do this is via a callback that is claled by wx.CallAfter. Thus use an internal callback when NVDA needs to display add-on update results dialog at startup.
    josephsl committed Nov 16, 2018
    Configuration menu
    Copy the full SHA
    f6a7abe View commit details
    Browse the repository at this point in the history
  3. Add-on handler: do not check for updates for add-ons with update chec…

    …king turned off. Re nvaccess#3208.
    
    Add a new set in add-on state that'll record add-ons for which update checking should not be done. With this active, add-on update check function will skip add-ons listed in that set.
    josephsl committed Nov 16, 2018
    Configuration menu
    Copy the full SHA
    0ce1bbd View commit details
    Browse the repository at this point in the history
  4. Add-ons manager: add a dialog to let users turn off update check for …

    …various add-ons. Re nvaccess#3208.
    
    A new button in Add-ons Manager will open a checkable list where users can turn off add-on update checks. To turn update checking off, one would check the box for the add-on in question. Once OK button is clicked, a record of checked add-ons will be saved to add-on state and will be written to disk just to make sure the record is saved in the event of disasters.
    josephsl committed Nov 16, 2018
    Configuration menu
    Copy the full SHA
    08f4a50 View commit details
    Browse the repository at this point in the history
  5. User guide: document manage add-on update checks dialog, clarify word…

    …ing in surroudning paragraphs. Re nvaccess#3208.
    josephsl committed Nov 16, 2018
    Configuration menu
    Copy the full SHA
    e9f07b4 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2018

  1. Configuration menu
    Copy the full SHA
    44d8d78 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c5de0f9 View commit details
    Browse the repository at this point in the history
  3. Merged master

    josephsl committed Dec 6, 2018
    Configuration menu
    Copy the full SHA
    b97258e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b084125 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2018

  1. Configuration menu
    Copy the full SHA
    05a3548 View commit details
    Browse the repository at this point in the history
  2. Update downloader: handle a case where file version for newly downloa…

    …ded NVDA 'update' is not required. Re nvaccess#3208.
    
    Add a keyword in UpdateDownader class that will ask the downloader to retrieve file version information. If set to yes, file version info will be retrieved, otherwise this step will be skipped.
    The only time the new keyword will be set to False is if updating add-ons, as add-on bundles do not come with file version metadata, although this might change in the future.
    josephsl committed Dec 12, 2018
    Configuration menu
    Copy the full SHA
    90d364f View commit details
    Browse the repository at this point in the history
  3. Add-ons Manager: handle add-on updates just like add-on installs. re n…

    …vaccess#3208.
    
    Add-ons Manger's instlal add-on function can now update add-ons, performing different steps along the way. Also, remote add-on installer will be used to perform add-on updates if the newly added fresh instlal argument is false.
    
    Specificlaly:
    
    * Moved add-on update steps (at least the user interface) from add-on update downloader to Add-ons Manager class, thus unifying the routines.
    * A new keyword named 'freshInstall' will be used to tell Add-ons Manager if installation wil involve updating (false) or a complete instlal (true).
    * Depending on value of fresh install keyword, different messages will be presented when 'instlaling' add-ons while updating.
    * Remote add-on installer has gained 'freshInstall' keyword for use in add-on update only (this keyword may become private if necessary).
    * During add-on updates, install confirmation message won't be shown. The only interaction will be when the new add-on release is not compatible with current version of NVDA (see issue 6275 for more information).
    josephsl committed Dec 12, 2018
    Configuration menu
    Copy the full SHA
    743d60e View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2019

  1. Merged origin/master

    josephsl committed Feb 13, 2019
    Configuration menu
    Copy the full SHA
    a511355 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c44bfe8 View commit details
    Browse the repository at this point in the history
  3. Update check: do not check for add-on updates if NVDA is running as a…

    … Windows Store application. Re nvaccess#3208.
    josephsl committed Feb 13, 2019
    Configuration menu
    Copy the full SHA
    d95b0ea View commit details
    Browse the repository at this point in the history
  4. Add-ons manager/update check: incorporate latest changes from master …

    …branch. Re nvaccess#3208.
    
    Specifically:
    * Instead of calling remote add-on instlal handler, the new install add-on function will be called.
    * The add-oin install logic is now part of the new installAddon function that has been moved to outside of add-on GUI class.
    * Due to introduction of restart prompt function, add-on update generator will call the new function instead of going through add-ons manager/close event.
    josephsl committed Feb 13, 2019
    Configuration menu
    Copy the full SHA
    c75ca3c View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2019

  1. Update copyright years

    josephsl committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    654b408 View commit details
    Browse the repository at this point in the history
  2. Update check/add-on downloader: file version requiremenet is no longe…

    …r enforced. Re nvaccess#3208.
    
    As part of revised add-on compatibility approach, file version check is no longer performed by update downloader, thus remove this flag from update downloader and subclasses.
    josephsl committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    c1b0bff View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2019

  1. Merged master

    josephsl committed Apr 13, 2019
    Configuration menu
    Copy the full SHA
    d1ce33f View commit details
    Browse the repository at this point in the history

Commits on May 4, 2019

  1. Configuration menu
    Copy the full SHA
    ad4d168 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    52ca10f View commit details
    Browse the repository at this point in the history
  3. Python 3: xrange -> range, no more unicode function.

    Python 3 edits:
    * No more unicode() function.
    * xrane -> range
    josephsl committed May 4, 2019
    Configuration menu
    Copy the full SHA
    f3b281a View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2019

  1. Merged 'master'

    josephsl committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    40ddd8d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e0893bb View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2019

  1. Configuration menu
    Copy the full SHA
    437ba48 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    518402f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5c2dc6d View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2019

  1. Merged threshold

    josephsl committed Jul 15, 2019
    Configuration menu
    Copy the full SHA
    4886c48 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    246d6e1 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2019

  1. Configuration menu
    Copy the full SHA
    00dbe1c View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2019

  1. Configuration menu
    Copy the full SHA
    f9aefda View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2019

  1. Add-on handler: applied lint fixes.

    Based on flake8: lint errors such as unused urllib import, long lines, and bare exception were fixed.
    josephsl committed Aug 2, 2019
    Configuration menu
    Copy the full SHA
    e3e316b View commit details
    Browse the repository at this point in the history
  2. Add-on GUI: apply lint fixes.

    Lint work include removing unused queue handler import, catching unused variable in update add-on screen, spacing, line length, and reworked logic for update add-ons button.
    josephsl committed Aug 2, 2019
    Configuration menu
    Copy the full SHA
    a2ea300 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e9958d2 View commit details
    Browse the repository at this point in the history
  4. GUI: add-on GUI and settings screen edited with lint fixes.

    Lint fixes include splitting function calls into multiple lines, spaces around operators, and splitting long lines."
    josephsl committed Aug 2, 2019
    Configuration menu
    Copy the full SHA
    001097b View commit details
    Browse the repository at this point in the history
  5. Add-on GUI and update check: lint fixes.

    For function complexity note in addonGui.installAddon, this is caused by installer UI. Thus find a way to separate the instlaler from the UI.
    For E402 in update check, remant from nvaccess#6275, so no need to worry.
    josephsl committed Aug 2, 2019
    Configuration menu
    Copy the full SHA
    45ac3a8 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2019

  1. Configuration menu
    Copy the full SHA
    787d34b View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2019

  1. Configuration menu
    Copy the full SHA
    55dd47e View commit details
    Browse the repository at this point in the history
  2. Add-ons manager: enable add-on update check settings if and only if a…

    …t least one add-on is installed. Re nvaccess#3208.
    
    Enable add-on update check settings if add-ons are installed (perviously it was showing all the time due to a logic error regarding add-on list refresh).
    josephsl committed Sep 23, 2019
    Configuration menu
    Copy the full SHA
    4882427 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2019

  1. Configuration menu
    Copy the full SHA
    9e9e2fb View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2019

  1. Configuration menu
    Copy the full SHA
    2e661f2 View commit details
    Browse the repository at this point in the history