Skip to content

Ensure public environments API is reliable and stable #20240

Description

@karrtikr

Postmortem on Python API related bugs and causes

Each bug is listed into categories and marked if it could've been prevented with the stated precaution:

Bugs and potential precautionary measures

  • resolveEnvironment returns undefined (only reproducible on Jupyter CI) #20147
    • Using public API internally
    • Adding unit tests for API surface
    • Adding VSCode system tests
  • Slow environments.known #20221
    • Using public API internally
    • Adding unit tests for API surface
    • Adding VSCode system tests
  • Newly created prefix conda environments are identified as named #20069
    • Using public API internally
    • Adding unit tests for API surface
    • Adding VSCode system tests
  • resolved Environments have an invalid type for workspaceFolder, cannot be stored in memento #20104
    • Using public API internally
    • Adding unit tests for API surface
    • Adding more internal tests
  • resolved version for environments without python is incorrect, should be undefined instead #20110
    • Using public API internally
    • Adding unit tests for API surface
  • resolved name changes from undefined to empty string while discovering #20070
    • Using public API internally
    • Adding unit tests for API surface
  • resolveEnvironment returns partial environment info from cache the first time (only the first session) #20147
    • Using public API internally
    • Adding unit tests for API surface
    • Adding more internal tests

Expected behavior (required clarification or bug at Jupyter):

Non reproducible:

  • Jupyter claims sysprefix changes, not reproducible #20070

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-environmentsFeatures relating to handling interpreter environmentsdebtCode quality issuesmetaIssue that is tracking an overall projectneeds spikeLabel for issues that need investigation before they can be worked on.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions