* update python fwlinks and remove bundle ver
* start fixing path for users with python 36
* prompt user for python version upgrade
* update python path after removing 3.6
* prompt users to upgrade and show pkg warning
* make prompt async
* remove python bundle ver from ML extension
* shutdown python 3.6 before deleting
* check useExistingPython before update prompt
* add dont ask again option
* remove 3.6 after installing 3.8
fix merge conflict
* give option to remove python36
* list user installed pip packages in warning
* create notebook to install pip packages
* update getPythonExePath method and add comments
* clean up code
* add comments
* pr comments
* add comment
* remove option to keep python36
* shutdown active servers before removing python36
* fix error removing old python w/ path change
* update to 3.8.10
* restart sessions for mac/linux
* NotebookUriHandler Test
* set test to previous, return promise for handleUri
* Added tests for file uri scheme https/http
* Updated NotebookUri to await handleUri calls and add more tests
* Add setting for max number of expanded books
* Remove extra commas
* Add setting for expanding/collapsing books at root level
* Change typo in name of setting
* Change default value to false
* Add open book option in UI
* Add dropdowns option on dialog
* Add flow logic
* Fetch releases and validate URL
* Add class for github books and shared file books
* Change code structure
* Unblock local copy + stack overflows
* Download books from github
* Remove unused files
* Clean code and use the openNotebookFolder command to open remote book
* Checkpoint
* Refactor remote book dialog model to only hold data
* Remove ApiWrapper and refactor createlocalcopy method
* Use sinon js framework instead of typemoq for testing remotebookController
* Remove api wrapper
* Add some tests
* Add more tests and address pr comments
* Address PR comments
* Fix remotebook broken tests
* Add download location in output channel and use openBook command
* Address PR comments
* Fix typos, print error message and remove failing test
* Print error message
* Separate tests in different files
* Declare controller variable inside extension.tst
Co-authored-by: chlafreniere <hichise@gmail.com>
* unit test of the method
* stash changes
* revealActiveDocumentInViewlet test
* separate tests
* test on activate
* added tests
* feedback changes
* naming change
* Refactoring Manage Packages dialog so that other extensions can contribute to it by registering package mange providers for different location and package type