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 | |
| 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')
| -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) {  | 
