Change:
VSCode Version: Version: 1.67.0-insider (Universal) Commit: Date: 2022-04-06T05:15:27.397Z (8 hrs ago) Local OS Version: macOs 12.3.1 / arm Remote OS Version: Centos 7 Remote Extension/Connection Type: SSH Logs: Steps to Reproduce: SSH Session the popup, hey Python and Jupyter extensions have pre-release versions or install / switch to pre-release on the extension page Error (but the extensions shows the pre-release state), but afaik that's not the case Note: I removed the vs code server on the remote host and did a new installation (starting from locally with the remote extensions versions), but it actually just installs the stable version on the remote and then the switch is not possible. It should actually consider and install the same version that is used locally, shouldn't it? Can't install pre-release version of 'ms-toolsai.jupyter' extension because it is not compatible with the current version of Visual Studio Code - Insiders (version 1.67.0-insider). Does this issue occur when you try this locally?: No Does this issue occur when you try this locally and all extensions are disabled?:No logs: [2022-04-06 15:51:45.599] [renderer1] [info] Downloading the 'ms-toolsai.jupyter' extension locally and install [2022-04-06 15:51:45.626] [renderer1] [error] Can't install pre-release version of 'ms-toolsai.jupyter' extension because it is not compatible with the current version of Visual Studio Code - Insiders (version 1.67.0-insider).: IncompatiblePreRelease: Can't install pre-release version of 'ms-toolsai.jupyter' extension because it is not compatible with the current version of Visual Studio Code - Insiders (version 1.67.0-insider). at l.checkAndGetCompatible (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-) at async l.downloadAndInstall (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-) at async l.installFromGallery (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-) at async (index 0) at async Object.j [as settled] (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-) at async Ms.installFromGallery (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-)
Would you mind sharing your Remote SSH logs as well? And if you have any gifs or videos of what you're seeing?
! ! And this - but it's just a "refresh" problem, once I switch between extensions it shows the old and unfortunately correct version again: ! And logs...
Your SSH connection looks successful. I'll transfer this issue to the Python extension team to see if they have ideas why this state is happening
This is an error thrown by VS Code, not sure what an extension can do about this as installing extensions is completely managed by VS Code. I'm transferring this back to VS Code.
Same issue happends to me.
I was able to install this manually (remote) by downloading the new extension that I got from this link: By this, you'll switch to the pre-release version. After installing it once manually, all updates work as usual.
Can you please try our latest insiders and see if you can reproduce this issue still?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Sorry, I had it already solved and thought it wouldn't occur again + I moved away from using Remote SSH whenever I could. I am now on the latest 1.68 insiders and for whatever reason the jupyter extension reverted to "non pre-release" and the same issue still exists - same error. Same workaround as above fixed the issue for me.
Were you using any remote set up when this happened again? Are you still able to repro it?
Yeah, it's exactly the same setup, just updated (yesterday's) insider build. And yes, if I uninstall the extension, install release, try to switch, the same happens over and over again. I discovered another bug: switch back to stable is not possible [2022-05-24 12:03:11.208] [remoteagent] [warning] Overwriting user extension with It always pushes me back to the pre-release. I think this may be related to keep local/remote on the same version/track. EDIT: Okay, actually this blocks everyone using insiders with the jupyter and/or other plugins in combination with remote ssh. Since insiders are updated daily, the "vs code server" is updated daily and the plugin is revert/installed again in the non preview version. So my hotfix has to applied daily which is really annoying. EDIT 2: I realised that the current (release today) stable "jupyter" version also has the latest insiders api implemented. So for now and for me that is solved - but the actual bug is still there, I can't switch to pre-release versions in a remote ssh setup.
Sorry that you are having this annoying issue and glad that you are able to reproduce it so that we can investigate. If you don't mind, can you please summarise your repro steps?
So, I now understand why it's a bit complex to reproduce this - I guess... I was even confused myself. So, currently the only way to reproduce it was for me: 1) deinstall the server (rm -rf .vscode-insiders-server) 2) connect/install + install jupyter extensions (local: pre-release) -pre-release installation successful 3) switch to release on remote 4) reload window -I am then on release try to switch to pre-release -issue appears. And now the important part: I realised that I still had the setting because within our company we had restrictions before... setting this to false also fixes the issue - even when it appeared before.
Thanks for the steps. I can reproduce it now and fixed. To verify: Open a remote window and set setting Install pre-release of ESLint extension Reload window Switch to release version of ESLint extension Reload window Switch to pre-release version of ESLint extension Make sure switch happens

Discussion:
} private async checkAndGetCompatible(extension: IGalleryExtension, includePreRelease: boolean): Promise<IGalleryExtension> { <del> const compatible = await this.galleryService.getCompatibleExtension(extension, includePreRelease, await this.getTargetPlatform()); if (compatible) { if (includePreRelease && !compatible.properties.isPreReleaseVersion && extension.hasPreReleaseVersion) { </del> <ins> const targetPlatform = await this.getTargetPlatform(); let compatibleExtension: IGalleryExtension | null = null; if (extension.hasPreReleaseVersion && extension.properties.isPreReleaseVersion !== includePreRelease) { compatibleExtension = (await this.galleryService.getExtensions([{ ...extension.identifier, preRelease: includePreRelease }], { targetPlatform, compatible: true }, CancellationToken.None))[0] || null; } if (!compatibleExtension && await this.galleryService.isExtensionCompatible(extension, includePreRelease, targetPlatform)) { compatibleExtension = extension; } if (!compatibleExtension) { compatibleExtension = await this.galleryService.getCompatibleExtension(extension, includePreRelease, targetPlatform); } if (compatibleExtension) { if (includePreRelease && !compatibleExtension.properties.isPreReleaseVersion && extension.hasPreReleaseVersion) { </ins> throw new ExtensionManagementError(localize('notFoundCompatiblePrereleaseDependency', "Can't install pre-release version of '{0}' extension because it is not compatible with the current version of {1} (version {2}).", extension.identifier.id, this.productService.nameLong, this.productService.version), ExtensionManagementErrorCode.IncompatiblePreRelease); } } else {

throw new ExtensionManagementError(localize('notFoundCompatibleDependency', "Can't install '{0}' extension because it is not compatible with the current version of {1} (version {2}).", extension.identifier.id, this.productService.nameLong, this.productService.version), ExtensionManagementErrorCode.Incompatible); } <del> return compatible; </del> <ins> return compatibleExtension; </ins> } private async installUIDependenciesAndPackedExtensions(local: ILocalExtension): Promise<void> {