summaryrefslogtreecommitdiff
path: root/extension/src/activation/environmentSetup.ts
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-08-23 22:43:27 -0700
committerNate Sesti <sestinj@gmail.com>2023-08-23 22:43:27 -0700
commitbb776a03df3e6a39a1726b781ea33c2ccebd5343 (patch)
treef91f400d1b74cbf7d5178c5d55b1362f6714a866 /extension/src/activation/environmentSetup.ts
parentfc85bda58f5fd3a875735e51f0c07d8fd8fef194 (diff)
downloadsncontinue-bb776a03df3e6a39a1726b781ea33c2ccebd5343.tar.gz
sncontinue-bb776a03df3e6a39a1726b781ea33c2ccebd5343.tar.bz2
sncontinue-bb776a03df3e6a39a1726b781ea33c2ccebd5343.zip
fix: :bug: bug where old server doesn't get updated
Diffstat (limited to 'extension/src/activation/environmentSetup.ts')
-rw-r--r--extension/src/activation/environmentSetup.ts25
1 files changed, 20 insertions, 5 deletions
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<boolean> {
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<boolean> {
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) {