Skip to content

Commit

Permalink
Rollout launcher mode to 5% of users (#2914)
Browse files Browse the repository at this point in the history
### Motivation

We've been using the new launcher mode for the server for a few weeks now, with zero issues encountered so far.

Let's roll it out to 5% of users. A larger group of users will help surface any other errors in our telemetry.

### Implementation

Instead of having a setting dedicated to the launcher, I just made it a feature flag, which is what we should do going forward.
  • Loading branch information
vinistock authored Nov 27, 2024
1 parent 30f8547 commit e5e7d97
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 7 deletions.
9 changes: 4 additions & 5 deletions vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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": {}
Expand Down
3 changes: 1 addition & 2 deletions vscode/src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -112,7 +111,7 @@ function getLspExecutables(
args.push("--branch", branch);
}

if (useLauncher) {
if (featureEnabled("launcher")) {
args.push("--use-launcher");
}

Expand Down
1 change: 1 addition & 0 deletions vscode/src/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down

0 comments on commit e5e7d97

Please sign in to comment.