From 230ed3304a8acc84ffab36dd9e6d0ebc0f4d054d Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Sun, 23 May 2021 11:51:35 +0300 Subject: Better releaseId naming --- editors/code/src/main.ts | 13 ++++++------- editors/code/src/persistent_state.ts | 10 +++++----- 2 files changed, 11 insertions(+), 12 deletions(-) (limited to 'editors/code/src') diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts index 5db66df93..6ed8b6146 100644 --- a/editors/code/src/main.ts +++ b/editors/code/src/main.ts @@ -157,7 +157,7 @@ async function bootstrap(config: Config, state: PersistentState): Promise anHour; + const shouldCheckForNewNightly = state.nightlyReleaseId === undefined || (now - (lastCheck ?? 0)) > anHour; if (!shouldCheckForNewNightly) return; } @@ -193,19 +193,18 @@ async function bootstrapExtension(config: Config, state: PersistentState): Promi return await fetchRelease("nightly", state.githubToken, config.httpProxy); }).catch(async (e) => { log.error(e); - if (state.releaseId === undefined) { // Show error only for the initial download + if (state.nightlyReleaseId === undefined) { // Show error only for the initial download await vscode.window.showErrorMessage(`Failed to download rust-analyzer nightly: ${e}`); } return; }); if (release === undefined) { - if (state.releaseId === undefined) { // Show error only for the initial download + if (state.nightlyReleaseId === undefined) { // Show error only for the initial download await vscode.window.showErrorMessage("Failed to download rust-analyzer nightly: empty release contents returned"); } return; } - // If currently used extension is nightly and its release id matches the downloaded release id, we're already on the latest nightly version - if (config.package.releaseTag === NIGHTLY_TAG && release.id === state.releaseId) return; + if (config.package.releaseTag === NIGHTLY_TAG && release.id === state.nightlyReleaseId) return; const userResponse = await vscode.window.showInformationMessage( "New version of rust-analyzer (nightly) is available (requires reload).", @@ -230,7 +229,7 @@ async function bootstrapExtension(config: Config, state: PersistentState): Promi await vscode.commands.executeCommand("workbench.extensions.installExtension", vscode.Uri.file(dest)); await fs.unlink(dest); - await state.updateReleaseId(release.id); + await state.updateNightlyReleaseId(release.id); await state.updateLastCheck(now); await vscode.commands.executeCommand("workbench.action.reloadWindow"); } diff --git a/editors/code/src/persistent_state.ts b/editors/code/src/persistent_state.ts index 2519bd77a..c02eb2ca3 100644 --- a/editors/code/src/persistent_state.ts +++ b/editors/code/src/persistent_state.ts @@ -3,8 +3,8 @@ import { log } from './util'; export class PersistentState { constructor(private readonly globalState: vscode.Memento) { - const { lastCheck, releaseId, serverVersion } = this; - log.info("PersistentState:", { lastCheck, releaseId, serverVersion }); + const { lastCheck, nightlyReleaseId, serverVersion } = this; + log.info("PersistentState:", { lastCheck, nightlyReleaseId, serverVersion }); } /** @@ -21,13 +21,13 @@ export class PersistentState { * Release id of the *nightly* extension. * Used to check if we should update. */ - get releaseId(): number | undefined { + get nightlyReleaseId(): number | undefined { return this.globalState.get("releaseId"); } - async updateReleaseId(value: number) { + async updateNightlyReleaseId(value: number) { await this.globalState.update("releaseId", value); } - async removeReleaseId() { + async removeNightlyReleaseId() { await this.globalState.update("releaseId", undefined); } -- cgit v1.2.3