Giter Site home page Giter Site logo

kite-installer's People

Contributors

abe33 avatar abmirayo avatar adamsmith avatar alexflint avatar dependabot[bot] avatar intrepidlemon avatar itsdhung avatar jansorg avatar johnmurga avatar kite-solness avatar metalogical avatar sadovnychyi avatar tonycheang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kite-installer's Issues

Don't offer Kite for non-admin users, or make Kite work with non-admin users

User feedback:

Thanks for getting in touch. To be honest, I'm not even sure if Kite is running correctly. I have an admin account and a separate user account. Atom installs under user accounts, so Kite did too. But when I did that, it was reporting an error. Sadly, I don't remember which one.

Seems like we shouldn't offer Kite on macOS to non-admin users.

Atom cannot save Kite to disk on Windows 8 VM

I get this error when installing Kite through Atom on a Windows 8 VM:
image
If you wait long enough, the installation flow actually completes, even though the Kite Engine has not been installed.

Unable to install Kite through VS Code

I get this error in the JS console when installing the Kite plugin from the VS Code marketplace:

[Extension Host] KiteError: bad_state 1
	at Object.isKiteInstalled (C:\Users\kite\.vscode\extensions\kiteco.kite-0.18.0\node_modules\kite-installer\lib\support\windows.js:96:24)
	at isKiteSupported.then (C:\Users\kite\.vscode\extensions\kiteco.kite-0.18.0\node_modules\kite-installer\lib\state-controller.js:82:30)
	at <anonymous>

bad_state 1 indicates that Kite isn't installed, so I'm confused as to why the installation flow doesn't trigger at this point.

I can reproduce this on macOS 10.13.3 and in a Windows 8 VM

Error on updating

Downloading /home/mte90/Desktop/kite-installer binary using wget...
Running /home/mte90/Desktop/kite-installer install 
Found an installation of Kite. Calling update instead.
[update] found version 2.20201221.0 installed
[update] latest version is 2.20210114.0, downloading now...
[update] Downloading Kite:  100.0% of 12 MiB
[update] verifying checksum
[update] validating signature
[update] installing version 2.20210114.0
[update] failed to update kite: exit status 1, output: 'Creating directory patch
Verifying archive integrity...  100%   All good.
Uncompressing Kite patch updater, version 2.20201221.0-2.20210114.0  100%  
Creating tar of previous version directory...
Applying patch update... 
bspatch: Invalid input checksum: expected e6 7b b6 d1 c2 42 39 b5 f0 61 95 42 63 94 16 fc 8d 68 6a ef 31 7b f3 1a d4 6d d8 ff 8b a3 6f d1, but got 4f 13 05 9c 00 f0 40 30 bd f4 7d 90 b8 a9 f5 1f c9 06 c2 8c 2c 9e f3 62 ae 7d 04 95 fd d7 d7 4d
usage: ./bspatch oldfile newfile patchfil

VS Code UI bugs on Windows 8

  1. We should give more visual confirmation when the user clicks on "Enable access" in the whitelisting step
    • We could change the text to "Enable access in /Users/dhung" โ†’ "Enabled in /Users/dhung"
    • Or we could remove the button completely
  2. The confirmation page never shows even after Kite installs and starts. "Starting Kite" seems to spin forever
    image

Migration to no login/whitelist

This is an issue just to keep track of the things in the installer that will be affected by the login and whitelist removal.

A quick reminder first, unlike Atom, VSCode install flow setup and views are largely done in the plugin itself.

  • Do we want to keep all the account steps in the first place? I feel this could be removed entirely to let the copilot handle that and make the install flow just a download and install task.
  • If not, is the authenticate step still relevant? I think here, the now removed authenticateSessionID should be brought back in the step object if we want to keep that step. That function was only used here so it's more relevant to have it in the step rather than exposed by the API.
  • Whitelist steps are only a thing in VScode, it still runs an old version of the kite-installer before we removed these steps.
  • The whole vscode install flow should be reworked. But this should be done only after merging kiteco/vscode-plugin#174 (switch to webview API)

VS Code UI bugs on macOS

  1. We should give more visual confirmation when the user clicks on "Enable access" in the whitelisting step
    • We could change the text to "Enable access in /Users/dhung" โ†’ "Enabled in /Users/dhung"
    • Or we could remove the button completely
  2. After installation finished, the final pane looks like this:
    image
    • I think we should be showing the confirmation page here

Running in atom plugin without Kite installed

Without Kite installed I get the following:
screen shot 2019-02-25 at 5 07 02 pm
When I click Continue:
screen shot 2019-02-25 at 4 55 10 pm
When I click Continue without email:
screen shot 2019-02-25 at 4 56 21 pm

Poking around in the code, it seems like this screen relies on interfacing with kited to do the Account related stuff. The screen is reached (with Atom) if the plugin is running without Kite installed.

We ought to make our install flow not dependent on kite being installed.

Unable to install to G4400

Unable to install to Pentium G4400. It says it doesn't support the AVX instruction set, which it does.

If we're asking a user to login AND they haven't set up a password, handle more gracefully

Steps to reproduce:

  1. Go through the install flow, enter [email protected] as your email address.
  2. Go through the install flow again (e.g. on a different VM, etc).
  3. After you put in [email protected] again, you'll be asked to login with your password.

But at this point most users haven't set up their password yet. If they haven't we should remind them that they need to create a password by verifying their email, and make it easy for them to ask for another verification email.

Once user logs in or creates account, install the Kite plugin

Today after a user [ logs in / creates an account ] in the install flow, there are one or two more steps left.

If the user abandons the install flow (close the panel) during those steps, they don't get Kite.

Instead, we should make the "user has a userID" the commit point, and install the Kite plugin at that point. If they subsequently close the install flow panel (or computer crashes, internet goes down, etc), then the Kite plugin will use its notifications to have them install kite, or whitelist the relevant directory, etc., as needed to get Kite working.

Preparing for Windows and Linux clients

Imagine a user who installs autocomplete-python on Windows today. Then imagine next week we release Kite support for Windows. We would like to be able to prompt this user to use Kite, without waiting on them to update autocomplete-python.

I'm not sure how to accomplish this. Maybe we should add code that, on loading of the Kite-vs-Jedi screen, updates kite-installer to the latest version? Maybe kite-installer should retrieve JS code for installing Kite from a server, and eval() it at runtime? Not sure...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.