Tidy up some of our Velocity features (#19605)

A few features were marked "always disabled" and then enabled in dev,
canary and preview. I simplified those to "always enabled" and disabled
in release instead. This required changes to Generate-FeatureStaging to
make it consider `WindowsInbox` a Release branding (which, honestly, it
always should have been.)

- Feature_DynamicSSHProfiles
- Feature_ShellCompletions
- Feature_SaveSnippet
- Feature_QuickFix

Feature_DisableWebSourceIcons was deprecated in #19143, but the XML file
never got the memo.
This commit is contained in:
Dustin L. Howett 2025-12-02 14:22:51 -06:00 committed by GitHub
parent 7f37fdd369
commit afb4752102
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 45 deletions

View File

@ -16,9 +16,7 @@
#include "PowershellCoreProfileGenerator.h"
#include "VisualStudioGenerator.h"
#include "WslDistroGenerator.h"
#if TIL_FEATURE_DYNAMICSSHPROFILES_ENABLED
#include "SshHostGenerator.h"
#endif
#include "ApplicationState.h"
#include "DefaultTerminal.h"
@ -226,9 +224,10 @@ void SettingsLoader::GenerateProfiles()
generateProfiles(WslDistroGenerator{});
generateProfiles(AzureCloudShellGenerator{});
generateProfiles(VisualStudioGenerator{});
#if TIL_FEATURE_DYNAMICSSHPROFILES_ENABLED
sshProfilesGenerated = generateProfiles(SshHostGenerator{});
#endif
if constexpr (Feature_DynamicSSHProfiles::IsEnabled())
{
sshProfilesGenerated = generateProfiles(SshHostGenerator{});
}
}
// Generate ExtensionPackage objects from the profile generators.
@ -267,9 +266,10 @@ void SettingsLoader::GenerateExtensionPackagesFromProfileGenerators()
generateExtensionPackages(WslDistroGenerator{});
generateExtensionPackages(AzureCloudShellGenerator{});
generateExtensionPackages(VisualStudioGenerator{});
#if TIL_FEATURE_DYNAMICSSHPROFILES_ENABLED
generateExtensionPackages(SshHostGenerator{});
#endif
if constexpr (Feature_DynamicSSHProfiles::IsEnabled())
{
generateExtensionPackages(SshHostGenerator{});
}
}
// A new settings.json gets a special treatment:

View File

@ -99,24 +99,16 @@
<name>Feature_DynamicSSHProfiles</name>
<description>Enables the dynamic profile generator for OpenSSH config files</description>
<id>9031</id>
<stage>AlwaysDisabled</stage>
<alwaysEnabledBrandingTokens>
<brandingToken>Dev</brandingToken>
<brandingToken>Canary</brandingToken>
<brandingToken>Preview</brandingToken>
</alwaysEnabledBrandingTokens>
<stage>AlwaysEnabled</stage>
<alwaysDisabledReleaseTokens/>
</feature>
<feature>
<name>Feature_ShellCompletions</name>
<description>An experimental escape sequence for client applications to request the Terminal display a list of suggestions.</description>
<id>3121</id>
<stage>AlwaysDisabled</stage>
<alwaysEnabledBrandingTokens>
<brandingToken>Dev</brandingToken>
<brandingToken>Canary</brandingToken>
<brandingToken>Preview</brandingToken>
</alwaysEnabledBrandingTokens>
<stage>AlwaysEnabled</stage>
<alwaysDisabledReleaseTokens/>
</feature>
<feature>
@ -165,24 +157,16 @@
<name>Feature_SaveSnippet</name>
<description>Save Snippet</description>
<id>9971</id>
<stage>AlwaysDisabled</stage>
<alwaysEnabledBrandingTokens>
<brandingToken>Dev</brandingToken>
<brandingToken>Canary</brandingToken>
<brandingToken>Preview</brandingToken>
</alwaysEnabledBrandingTokens>
<stage>AlwaysEnabled</stage>
<alwaysDisabledReleaseTokens/>
</feature>
<feature>
<name>Feature_QuickFix</name>
<description>Enables the Quick Fix menu</description>
<id>16599</id>
<stage>AlwaysDisabled</stage>
<alwaysEnabledBrandingTokens>
<brandingToken>Dev</brandingToken>
<brandingToken>Canary</brandingToken>
<brandingToken>Preview</brandingToken>
</alwaysEnabledBrandingTokens>
<stage>AlwaysEnabled</stage>
<alwaysDisabledReleaseTokens/>
</feature>
<feature>
@ -192,15 +176,4 @@
<alwaysDisabledReleaseTokens/>
</feature>
<feature>
<name>Feature_DisableWebSourceIcons</name>
<description>Disables icon paths that make web requests</description>
<id>19075</id>
<stage>AlwaysDisabled</stage>
<alwaysEnabledBrandingTokens>
<brandingToken>Dev</brandingToken>
<brandingToken>Canary</brandingToken>
</alwaysEnabledBrandingTokens>
</feature>
</featureStaging>

View File

@ -89,11 +89,11 @@ Function Resolve-FinalFeatureStage {
[string]$Branding
)
# RELEASE=DISABLED wins all checks
# RELEASE=DISABLED wins all checks (WindowsInbox counts as a type of Release)
# Then, branch match by most-specific branch
# Then, branding type (if no overriding branch match)
If ($Branding -Eq "Release" -And $Feature.DisabledReleaseToken) {
If ($Branding -In @("Release", "WindowsInbox") -And $Feature.DisabledReleaseToken) {
[Stage]::AlwaysDisabled
Return
}