diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-07-11 15:14:03 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-07-11 15:14:03 -0700 |
commit | 64e9877d2929f36aa2af94708620d3f2247ebebb (patch) | |
tree | 78895c399d3357c91b1975398e067e0c7fe9f2f5 | |
parent | aa40e9c5e3717cef7552973c495095be96ab6d1c (diff) | |
download | sncontinue-64e9877d2929f36aa2af94708620d3f2247ebebb.tar.gz sncontinue-64e9877d2929f36aa2af94708620d3f2247ebebb.tar.bz2 sncontinue-64e9877d2929f36aa2af94708620d3f2247ebebb.zip |
check for old version of Continue, notify
-rw-r--r-- | extension/src/activation/activate.ts | 22 | ||||
-rw-r--r-- | extension/src/activation/environmentSetup.ts | 2 |
2 files changed, 22 insertions, 2 deletions
diff --git a/extension/src/activation/activate.ts b/extension/src/activation/activate.ts index 18650561..2c5ba58c 100644 --- a/extension/src/activation/activate.ts +++ b/extension/src/activation/activate.ts @@ -7,9 +7,16 @@ import IdeProtocolClient from "../continueIdeClient"; import { getContinueServerUrl } from "../bridge"; import { CapturedTerminal } from "../terminal/terminalEmulator"; import { setupDebugPanel, ContinueGUIWebviewViewProvider } from "../debugPanel"; -import { startContinuePythonServer } from "./environmentSetup"; +import { + getExtensionVersion, + startContinuePythonServer, +} from "./environmentSetup"; +import fetch from "node-fetch"; // import { CapturedTerminal } from "../terminal/terminalEmulator"; +const PACKAGE_JSON_RAW_GITHUB_URL = + "https://raw.githubusercontent.com/continuedev/continue/main/extension/package.json"; + export let extensionContext: vscode.ExtensionContext | undefined = undefined; export let ideProtocolClient: IdeProtocolClient; @@ -20,6 +27,19 @@ export async function activateExtension( ) { extensionContext = context; + // Before anything else, check whether this is an out-of-date version of the extension + // Do so by grabbing the package.json off of the GitHub respository for now. + fetch(PACKAGE_JSON_RAW_GITHUB_URL) + .then(async (res) => res.json()) + .then((packageJson) => { + if (packageJson.version !== getExtensionVersion()) { + vscode.window.showInformationMessage( + `You are using an out-of-date version of the Continue extension. Please update to the latest version.` + ); + } + }) + .catch((e) => console.log("Error checking for extension updates: ", e)); + await new Promise((resolve, reject) => { vscode.window.withProgress( { diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts index 881da9b5..c277a539 100644 --- a/extension/src/activation/environmentSetup.ts +++ b/extension/src/activation/environmentSetup.ts @@ -351,7 +351,7 @@ function requirementsVersionPath(): string { return path.join(serverPath(), "requirements_version.txt"); } -function getExtensionVersion() { +export function getExtensionVersion() { const extension = vscode.extensions.getExtension("continue.continue"); return extension?.packageJSON.version || ""; } |