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

[UX] Update toolchain view #569

Closed
33 of 57 tasks
jyoungyun opened this issue May 9, 2022 · 5 comments
Closed
33 of 57 tasks

[UX] Update toolchain view #569

jyoungyun opened this issue May 9, 2022 · 5 comments
Assignees

Comments

@jyoungyun
Copy link
Collaborator

jyoungyun commented May 9, 2022

Let's try to finish the following within May. 😨 😅 🥵 🍺

Improvement point

@jyoungyun jyoungyun added this to the Sprint (May 9 to May 20) milestone May 9, 2022
@jyoungyun jyoungyun self-assigned this May 9, 2022
@hyunsik-yoon hyunsik-yoon self-assigned this May 9, 2022
@jyoungyun
Copy link
Collaborator Author

There are a few parts to consider.

Enhanced "show installable toolchains"

  • If the artifactory data is changed when user requests toolchain lists, how can we control this situation?

Show already-installed toolchain

  • backend impl (May not be needed?)
    • The current implementation asks if it is installed to all available lists. It takes a lot of resource to ask it. How about returning an information whether it is installed together when it first returns the list?

@hyunsik-yoon
Copy link
Contributor

If the artifactory data is changed when user requests toolchain lists, how can we control this situation?

Maybe we can have setInterval() that keeps calling apt-get update one or twice per day while ONE-vscode is up and running.
However, some users may not call apt-get update so we may need to find out some way to call apt-get update for backend Debian repo.

  • backend impl (May not be needed?)
    • The current implementation asks if it is installed to all available lists. It takes a lot of resource to ask it. How about returning an information whether it is installed together when it first returns the list?

How about having the following API?

Toolchain.getBackendInfo(backendVersion: string): backendInfo;

ONE-vscode refreshes its toolchain list view when it is up for the first time. At that time, the UI can call the above function to get more specific info.

@jyoungyun
Copy link
Collaborator Author

ONE-vscode refreshes its toolchain list view when it is up for the first time. At that time, the UI can call the above function to get more specific info.

How about adding installed variable to ToolchainInfo structure? Then we do not need to make an additional call for this job.

@jyoungyun
Copy link
Collaborator Author

jyoungyun commented Jun 9, 2022

Toolchain View Scenario

Initial loading

No toolchain

  • Nothing to do
  • initial_loading_no_toolchain

Installed toolchain

  • Show installed toolchain in toolchain view
  • initial_loading_installed_toolchain

Install

Not set prerequisites

  • Show information message Prerequisites has not been set yet. Do you want to set it up now?
    • If yes, call prerequisites
    • initial_loading_prerequisites_yes
    • If no, nothing to do
    • initial_loading_prerequisites_no

Install : Assumption

  • The latest package: install debian package
  • Older package: install docker image
  • available_list_debian_cloud

Install debian package

  • No installed toolchain (initial state)
    • not yet
  • Already installed toolchain
    • Show information message Backend toolchain can be installed only one. Do you want to remove the existing installed toolchain?
    • If yes, remove the existing installed toolchain and then install the selected toolchain
    • install_uninstall_yes
    • If no, show canceled information message Installation is canceled.
    • install_uninstall_no

@jyoungyun
Copy link
Collaborator Author

Almost features were merged. So I will close this issue at this point and I will continue the related job on another issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants