summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extension/package-lock.json11
-rw-r--r--extension/package.json1
-rw-r--r--extension/src/continueIdeClient.ts8
-rw-r--r--extension/src/debugPanel.ts3
-rw-r--r--extension/src/extension.ts5
-rw-r--r--extension/src/util/vscode.ts9
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;
+}