diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-08-23 22:43:27 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-08-23 22:43:27 -0700 |
commit | bb776a03df3e6a39a1726b781ea33c2ccebd5343 (patch) | |
tree | f91f400d1b74cbf7d5178c5d55b1362f6714a866 /extension/src/activation/environmentSetup.ts | |
parent | fc85bda58f5fd3a875735e51f0c07d8fd8fef194 (diff) | |
download | sncontinue-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.ts | 25 |
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) { |