diff options
-rw-r--r-- | extension/package-lock.json | 11 | ||||
-rw-r--r-- | extension/package.json | 1 | ||||
-rw-r--r-- | extension/src/continueIdeClient.ts | 8 | ||||
-rw-r--r-- | extension/src/debugPanel.ts | 3 | ||||
-rw-r--r-- | extension/src/extension.ts | 5 | ||||
-rw-r--r-- | extension/src/util/vscode.ts | 9 |
6 files changed, 32 insertions, 5 deletions
diff --git a/extension/package-lock.json b/extension/package-lock.json index 278410ac..ec9567a4 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -16,6 +16,7 @@ "fkill": "^8.1.0", "highlight.js": "^11.7.0", "highlightable": "^1.3.0-beta.0", + "node-machine-id": "^1.1.12", "posthog-node": "^3.1.2", "react-markdown": "^8.0.7", "react-redux": "^8.0.5", @@ -8604,6 +8605,11 @@ "dev": true, "peer": true }, + "node_modules/node-machine-id": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + }, "node_modules/node-releases": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", @@ -18158,6 +18164,11 @@ "dev": true, "peer": true }, + "node-machine-id": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + }, "node-releases": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", diff --git a/extension/package.json b/extension/package.json index 45bf2268..b62dd671 100644 --- a/extension/package.json +++ b/extension/package.json @@ -249,6 +249,7 @@ "fkill": "^8.1.0", "highlight.js": "^11.7.0", "highlightable": "^1.3.0-beta.0", + "node-machine-id": "^1.1.12", "posthog-node": "^3.1.2", "react-markdown": "^8.0.7", "react-redux": "^8.0.5", 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; +} |