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

fix: revise vscode extension directories #13178

Merged
merged 3 commits into from
Dec 21, 2023

Commits on Dec 21, 2023

  1. fix: revise vscode extension directories

    This patch eliminates the use of the temporary directories
    vscode-unpacked and vscode-copied for installing and deploying
    vscode extensions.
    
    The file-handler and directory handler for vscode extensions
    have been adjusted accordingly:
    
    * A temporary directory is now only used for downloading extensions from
      the registry. This temporary directory is now user-specific and
      resides within the configdir (i.e., per default in the user's home:
      /.theia/tmp/) to avoid clashes and permission issues on multi-user
      operating systems that share temporary directories, such as Linux or
      BSDs. Having this temporary directory in a location that is
      configurable by the user also seems the more sensible approach when
      extensions are considered confidential data.
    
    * $configDir/deployedPlugins replaces our volatile /tmp/vscode-copied
      deployment directory. Having a more permanent way of handling
      installed extensions should improve startup time and reduce issues
      with multiple instances running in parallel.
    
    * The local file resolver unpacks the vsix file from the temp dir into
      $configDir/deployedPlugins/<extension-id>.
    
    * The simplified directory handler loads unpacked extensions directly
      from $configDir/deployedPlugins/<extension-id>.
    
    * We use $configDir/extensions as a location for the user to drop vsix
      files that will be installed to the deployment location automatically
      on startup. We do not manage or remove files within
      $configDir/extensions.
    
    Overall, this should improve the stability on systems with shared temp
    dir locations and reduce the startup of the first application start
    after a reboot.
    
    Contributed on behalf of STMicroelectronics
    
    Signed-off-by: Olaf Lessenich <[email protected]>
    xai committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    2169b41 View commit details
    Browse the repository at this point in the history
  2. fix: PluginDeployerContribution returns resolved Promise

    To avoid delaying the application startup while loading plugins,
    the initialize function of the PluginDeployerContribution class
    explicitly returns a resolved Promise.
    
    Signed-off-by: Olaf Lessenich <[email protected]>
    Co-authored-by: Thomas Mäder <[email protected]>
    xai and tsmaeder committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    991f244 View commit details
    Browse the repository at this point in the history
  3. chore: update CHANGELOG

    Contributed on behalf of STMicroelectronics
    
    Signed-off-by: Olaf Lessenich <[email protected]>
    xai committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    36505f8 View commit details
    Browse the repository at this point in the history