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

Remove support for 'online' binary downloads #8505

Merged
merged 21 commits into from
Jan 11, 2022

Conversation

Colengms
Copy link
Contributor

@Colengms Colengms commented Dec 8, 2021

This is to support platform-specific VSIX's - #8152

Removes the installation phase entirely. Real activation events are present in package.json. Removed re-writing of package.json. Removed temporary command registrar. Removed runtime dependencies section from package.json. Merged realActivation with activation. Removed use of install.lock. Removed code to download platform-specific binaries. Removed all code that verified the correct architecture binaries were available, as that should now be handled by the marketplace.

Also removed a check for CUDA support, which is no longer needed due to dependency on sufficiently recent version of VS Code.

Because this removed the Insider installation channel, this should not be checked in until right before the final insiders is released.

@bobbrow
Copy link
Member

bobbrow commented Dec 9, 2021

TODO: Do we need to remove C_Cpp.updateChannel, or is there a way to connect that to how the marketplace will support insiders builds?

Yes, we should remove it. Marketplace will not refer to us for information about pre-release versions.

Extension/package.json Outdated Show resolved Hide resolved
Extension/src/telemetry.ts Outdated Show resolved Hide resolved
@amtadev
Copy link

amtadev commented Dec 10, 2021

Does this PR make C++ extension VSIX packages on the marketplace platform-specific and offline?

@Colengms
Copy link
Contributor Author

Does this PR make C++ extension VSIX packages on the marketplace platform-specific and offline?

That is the plan. There are other pieces involved, in addition to this PR.

@Colengms Colengms marked this pull request as ready for review December 15, 2021 00:58
vscode.window.showInformationMessage(message, yes, no).then((selection) => {
switch (selection) {
case yes:
vscode.commands.executeCommand("workbench.extensions.installExtension", "ms-vscode.cpptools", { installPreReleaseVersion: true });
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens when there isn't a pre-release version available (e.g. when we release 1.8.0)? Does this just sign them up for insiders?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is my understanding. But, we should ask isidorn , just in case.

@isidorn , Can you comment on the behavior of installing with installPreReleaseVersion set to true? If there is no pre-release version available, or if the user is already using a more recent (non-pre-)release version, will it remain on the current version of the extension (and update to a pre-release when it becomes available) ?

Copy link
Member

@sandy081 sandy081 Dec 17, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passing installPreReleaseVersion flag will install the latest version, it can be a pre-release version or a release version, which ever is greater. If it happens that the latest version is a pre-release version then the user gets signed up to pre-release versions and gets auto update to pre-releases. Otherwise not, user gets auto updated only to release versions. In summary, this is not a flag that will sign up users to pre-releases. Hope it is clear.

Edit: You can make sure that user sign up to pre-release version by passing this flag and have a latest pre-release version that is always bigger than latest release version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sandy081 @isidorn . It sounds like you understand what we are trying to do. Our Insiders release channel is a very important part of the process of validating our extension. However, it's a significant inconvenience to have to maintain an otherwise unnecessary prerelease version to ensure users are properly enrolled in receiving pre-release updates. We may need to open a feature request to address this, and it may delay us from adopting platform-specific VSIX's.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Colengms I think your request makes sense and I will add that feature soon - microsoft/vscode#139528

@Colengms Colengms merged commit 8d09704 into main Jan 11, 2022
@Colengms Colengms deleted the coleng/platform_specific_vsix2 branch January 11, 2022 02:37
@isidorn
Copy link

isidorn commented Jan 11, 2022

🚀 👏 🎉

@github-actions github-actions bot locked and limited conversation to collaborators Feb 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants