]> git.lizzy.rs Git - rust.git/commitdiff
Better releaseId naming
authorKirill Bulatov <mail4score@gmail.com>
Sun, 23 May 2021 08:51:35 +0000 (11:51 +0300)
committerKirill Bulatov <mail4score@gmail.com>
Sun, 23 May 2021 08:51:35 +0000 (11:51 +0300)
editors/code/src/main.ts
editors/code/src/persistent_state.ts

index 5db66df93d1c29801342c8af7f89f55a5dc544cc..6ed8b61462431aa1804e55005f44ba43c61223c8 100644 (file)
@@ -157,7 +157,7 @@ async function bootstrap(config: Config, state: PersistentState): Promise<string
     await fs.mkdir(config.globalStoragePath, { recursive: true });
 
     if (config.package.releaseTag != NIGHTLY_TAG) {
-        await state.removeReleaseId();
+        await state.removeNightlyReleaseId();
     }
     await bootstrapExtension(config, state);
     const path = await bootstrapServer(config, state);
@@ -184,7 +184,7 @@ async function bootstrapExtension(config: Config, state: PersistentState): Promi
         const lastCheck = state.lastCheck;
 
         const anHour = 60 * 60 * 1000;
-        const shouldCheckForNewNightly = state.releaseId === undefined || (now - (lastCheck ?? 0)) > 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");
 }
index 2519bd77ab76ef2b888f63a57b922752e64bb9e1..c02eb2ca30de50ef5a040bb6f9f1fb03772fe3ee 100644 (file)
@@ -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);
     }