microsoft / microsoft/vscode-python-environments

User Approval Flow for Package Installation

Open
#136 16 comments 0 reactions 3 assignees View on GitHub

Nobody has claimed this yet.

feature-request needs spike
Dominant language
TypeScript
Stars
138
Forks
62
Avg merge
1d 4h
Merged PRs (30d)
35

Description

Since this extension handles package installs, it should also correct communicate to the user about package installs and get user consent. The flow around package installs, user approval, when to allow background installs etc should be discussed and a plan outlined.

## Security:
This is an important part of the user trust boundary as we should only have extensions install packages that have user consent. There could be different categories, trusted extensions that are allowed to install packages and untrusted extensions that need user consent to install.

## Scenarios:
- extension wants to install a package, it is *not* a pre-approved extension to install packages
- extension wants to install a package, it is a pre-approved extension to install packages
- user wants to reduce notifications and select to have packages installed in the background for a given extension
- user wants to add, revoke, or edit which extensions can install / remove packages in a given workspace
- user wants to add, revoke, or edit which extensions can install / remove packages at a user or more global level
- user wants to accept installing a package without consenting to approve this extension going forward

## Questions:
- How do we make sure users are in control of the package installs while not making the experience too noisy?
- Are there any extensions (like ones published by microsoft) that do not need to be prompted for the user to accept maybe only notified?
- Do we still notify users on package install even if the installer is a pre-approved extension? Do users want to be notified every time?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.