From 537a614c186a465d63e10748c415ff33373e6976 Mon Sep 17 00:00:00 2001 From: Vinicius Stock Date: Tue, 26 Nov 2024 11:09:37 -0500 Subject: [PATCH] Rollout launcher mode to 5% of users --- vscode/package.json | 9 ++++----- vscode/src/client.ts | 3 +-- vscode/src/common.ts | 1 + 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/vscode/package.json b/vscode/package.json index 6932d9344..4017416fc 100644 --- a/vscode/package.json +++ b/vscode/package.json @@ -473,11 +473,6 @@ "type": "boolean", "default": true }, - "rubyLsp.useLauncher": { - "description": "[EXPERIMENTAL] Uses server launcher for gracefully handling missing dependencies.", - "type": "boolean", - "default": false - }, "rubyLsp.featureFlags": { "description": "Allows opting in or out of feature flags", "type": "object", @@ -489,6 +484,10 @@ "tapiocaAddon": { "description": "Opt-in/out of the Tapioca add-on", "type": "boolean" + }, + "launcher": { + "description": "Opt-in/out of the new launcher mode", + "type": "boolean" } }, "default": {} diff --git a/vscode/src/client.ts b/vscode/src/client.ts index 6a9cab514..186370c74 100644 --- a/vscode/src/client.ts +++ b/vscode/src/client.ts @@ -69,7 +69,6 @@ function getLspExecutables( const customBundleGemfile: string = config.get("bundleGemfile")!; const useBundlerCompose: boolean = config.get("useBundlerCompose")!; const bypassTypechecker: boolean = config.get("bypassTypechecker")!; - const useLauncher: boolean = config.get("useLauncher")!; const executableOptions: ExecutableOptions = { cwd: workspaceFolder.uri.fsPath, @@ -112,7 +111,7 @@ function getLspExecutables( args.push("--branch", branch); } - if (useLauncher) { + if (featureEnabled("launcher")) { args.push("--use-launcher"); } diff --git a/vscode/src/common.ts b/vscode/src/common.ts index 61787bb06..3ce0d5183 100644 --- a/vscode/src/common.ts +++ b/vscode/src/common.ts @@ -80,6 +80,7 @@ export const SUPPORTED_LANGUAGE_IDS = ["ruby", "erb"]; // Note: names added here should also be added to the `rubyLsp.optedOutFeatureFlags` enum in the `package.json` file export const FEATURE_FLAGS = { tapiocaAddon: 0.0, + launcher: 0.05, }; type FeatureFlagConfigurationKey = keyof typeof FEATURE_FLAGS | "all";