From bb776a03df3e6a39a1726b781ea33c2ccebd5343 Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Wed, 23 Aug 2023 22:43:27 -0700 Subject: fix: :bug: bug where old server doesn't get updated --- continuedev/src/continuedev/libs/util/telemetry.py | 3 +++ extension/src/activation/environmentSetup.ts | 25 +++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/continuedev/src/continuedev/libs/util/telemetry.py b/continuedev/src/continuedev/libs/util/telemetry.py index ab5ec328..92f77927 100644 --- a/continuedev/src/continuedev/libs/util/telemetry.py +++ b/continuedev/src/continuedev/libs/util/telemetry.py @@ -60,6 +60,9 @@ class PostHogLogger: if os.path.exists(server_version_file): with open(server_version_file, "r") as f: event_properties["server_version"] = f.read() + + # Add operating system + event_properties["os"] = os.name # Send event to PostHog self.posthog.capture(self.unique_id, event_name, event_properties) diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts index 9de306b4..06e5871d 100644 --- a/extension/src/activation/environmentSetup.ts +++ b/extension/src/activation/environmentSetup.ts @@ -82,16 +82,19 @@ export function getExtensionVersion() { // Returns whether a server of the current version is already running async function checkOrKillRunningServer(serverUrl: string): Promise { const serverRunning = await checkServerRunning(serverUrl); - // Kill the server if it is running an old version + let shouldKillAndReplace = true; + if (fs.existsSync(serverVersionPath())) { const serverVersion = fs.readFileSync(serverVersionPath(), "utf8"); if (serverVersion === getExtensionVersion() && serverRunning) { // The current version is already up and running, no need to continue - console.log("Continue server already running"); - return true; + console.log("Continue server of correct version already running"); + shouldKillAndReplace = false; } } - if (serverRunning) { + + // Kill the server if it is running an old version + if (shouldKillAndReplace) { console.log("Killing server from old version of Continue"); try { await fkill(":65432", { force: true }); @@ -100,8 +103,20 @@ async function checkOrKillRunningServer(serverUrl: string): Promise { console.log("Failed to kill old server:", e); } } + fs.unlinkSync(serverVersionPath()); + // Also delete the server binary + const serverBinaryPath = path.join( + getExtensionUri().fsPath, + "server", + "exe", + `run${os.platform() === "win32" ? ".exe" : ""}` + ); + if (fs.existsSync(serverBinaryPath)) { + fs.unlinkSync(serverBinaryPath); + } } - return false; + + return serverRunning && !shouldKillAndReplace; } function ensureDirectoryExistence(filePath: string) { -- cgit v1.2.3-70-g09d2