From c47944260c5600e49d83568b3c4bafa3b7c2a37e Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Tue, 29 Aug 2023 12:05:17 -0700 Subject: feat: :loud_sound: fallback unique id when vscode returns someValue.machineId --- extension/src/continueIdeClient.ts | 8 ++++++-- extension/src/debugPanel.ts | 3 ++- extension/src/extension.ts | 5 +++-- extension/src/util/vscode.ts | 9 +++++++++ 4 files changed, 20 insertions(+), 5 deletions(-) (limited to 'extension/src') diff --git a/extension/src/continueIdeClient.ts b/extension/src/continueIdeClient.ts index 3fa8dec1..94997d76 100644 --- a/extension/src/continueIdeClient.ts +++ b/extension/src/continueIdeClient.ts @@ -3,7 +3,11 @@ import { showSuggestion as showSuggestionInEditor, SuggestionRanges, } from "./suggestions"; -import { openEditorAndRevealRange, uriFromFilePath } from "./util/vscode"; +import { + getUniqueId, + openEditorAndRevealRange, + uriFromFilePath, +} from "./util/vscode"; import { FileEdit } from "../schema/FileEdit"; import { RangeInFile } from "../schema/RangeInFile"; import * as vscode from "vscode"; @@ -367,7 +371,7 @@ class IdeProtocolClient { } getUniqueId() { - return vscode.env.machineId; + return getUniqueId(); } // ------------------------------------ // diff --git a/extension/src/debugPanel.ts b/extension/src/debugPanel.ts index dbec45ea..961eb150 100644 --- a/extension/src/debugPanel.ts +++ b/extension/src/debugPanel.ts @@ -3,6 +3,7 @@ import { getContinueServerUrl } from "./bridge"; import { getExtensionUri, getNonce, + getUniqueId, openEditorAndRevealRange, } from "./util/vscode"; import { RangeInFile } from "../schema/RangeInFile"; @@ -183,7 +184,7 @@ export function setupDebugPanel( const sessionId = await sessionIdPromise; panel.webview.postMessage({ type: "onLoad", - vscMachineId: vscode.env.machineId, + vscMachineId: getUniqueId(), apiUrl: getContinueServerUrl(), workspacePaths: vscode.workspace.workspaceFolders?.map( (folder) => folder.uri.fsPath diff --git a/extension/src/extension.ts b/extension/src/extension.ts index 7fab9ed9..20af2be6 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -4,6 +4,7 @@ import * as vscode from "vscode"; import { getExtensionVersion } from "./activation/environmentSetup"; +import { getUniqueId } from "./util/vscode"; let client: any = undefined; async function capture(args: any) { @@ -21,7 +22,7 @@ async function dynamicImportAndActivate(context: vscode.ExtensionContext) { if (!context.globalState.get("hasBeenInstalled")) { context.globalState.update("hasBeenInstalled", true); capture({ - distinctId: vscode.env.machineId, + distinctId: getUniqueId(), event: "install", properties: { extensionVersion: getExtensionVersion(), @@ -57,7 +58,7 @@ export function activate(context: vscode.ExtensionContext) { export function deactivate() { capture({ - distinctId: vscode.env.machineId, + distinctId: getUniqueId(), event: "deactivate", properties: { extensionVersion: getExtensionVersion(), diff --git a/extension/src/util/vscode.ts b/extension/src/util/vscode.ts index 78870330..899c9348 100644 --- a/extension/src/util/vscode.ts +++ b/extension/src/util/vscode.ts @@ -1,4 +1,5 @@ import * as vscode from "vscode"; +import { machineIdSync } from "node-machine-id"; export function translate(range: vscode.Range, lines: number): vscode.Range { return new vscode.Range( @@ -115,3 +116,11 @@ export function uriFromFilePath(filepath: string): vscode.Uri { return vscode.Uri.file(filepath); } } + +export function getUniqueId() { + const id = vscode.env.machineId; + if (id === "someValue.machineId") { + return machineIdSync(); + } + return vscode.env.machineId; +} -- cgit v1.2.3-70-g09d2