Skip to content

Commit ea9c511

Browse files
committed
Check major version when getting latest version
1 parent e1e3f32 commit ea9c511

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/node/update.ts

+12-4
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,17 @@ export class UpdateService extends AbstractUpdateService {
3737
super(null, configurationService, environmentService, requestService, logService);
3838
}
3939

40-
public async isLatestVersion(): Promise<boolean | undefined> {
41-
const latest = await this.getLatestVersion();
42-
return !latest || latest.name === pkg.codeServerVersion;
40+
public async isLatestVersion(latest?: IUpdate | null): Promise<boolean | undefined> {
41+
if (!latest) {
42+
latest = await this.getLatestVersion();
43+
}
44+
if (latest) {
45+
const latestMajor = parseInt(latest.name);
46+
const currentMajor = parseInt(pkg.codeServerVersion);
47+
return !isNaN(latestMajor) && !isNaN(currentMajor) &&
48+
currentMajor <= latestMajor && latest.name === pkg.codeServerVersion;
49+
}
50+
return true;
4351
}
4452

4553
protected buildUpdateFeedUrl(): string {
@@ -57,7 +65,7 @@ export class UpdateService extends AbstractUpdateService {
5765
this.setState(State.CheckingForUpdates(context));
5866
try {
5967
const update = await this.getLatestVersion();
60-
if (!update || !update.name || update.name === pkg.codeServerVersion) {
68+
if (!update || this.isLatestVersion(update)) {
6169
this.setState(State.Idle(UpdateType.Archive));
6270
} else {
6371
this.setState(State.AvailableForDownload({

0 commit comments

Comments
 (0)