Skip to content

Commit 97373ca

Browse files
filiptronicekjeanp413
authored andcommitted
Add option to disable release notes completely
1 parent e2c028c commit 97373ca

File tree

3 files changed

+31
-8
lines changed

3 files changed

+31
-8
lines changed

extensions/gitpod-web/package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,12 @@
507507
"type": "boolean",
508508
"description": "Control whether to prompt to open in VS Code Desktop on page load.",
509509
"default": false
510+
},
511+
"gitpod.showReleaseNotes": {
512+
"type": "boolean",
513+
"description": "Show the Gitpod Changelog whenever a new one comes out.",
514+
"default": true,
515+
"scope": "application"
510516
}
511517
}
512518
},

extensions/gitpod-web/src/releaseNotes.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ export class ReleaseNotes extends Disposable {
7171
ttl: this.getResponseCacheTime(resp),
7272
};
7373
});
74+
if (!md) {
75+
return;
76+
}
7477

7578
const parseInfo = (md: string) => {
7679
if (!md.startsWith('---')) {
@@ -113,7 +116,15 @@ export class ReleaseNotes extends Disposable {
113116
}
114117

115118
const releaseId = await this.getLastPublish();
119+
if (!releaseId) {
120+
return;
121+
}
122+
116123
const mdContent = await this.loadChangelog(releaseId);
124+
if (!mdContent) {
125+
return;
126+
}
127+
117128
const html = await vscode.commands.executeCommand<string>('markdown.api.render', mdContent);
118129
this.panel.webview.html = `<!DOCTYPE html>
119130
<html lang="en">
@@ -143,10 +154,13 @@ export class ReleaseNotes extends Disposable {
143154
}
144155

145156
private async showIfNewRelease(lastReadId: string | undefined) {
146-
const releaseId = await this.getLastPublish();
147-
console.log(`gitpod release notes lastReadId: ${lastReadId}, latestReleaseId: ${releaseId}`);
148-
if (releaseId !== lastReadId) {
149-
this.createOrShow();
157+
const showReleaseNotes = vscode.workspace.getConfiguration('gitpod').get<boolean>('showReleaseNotes');
158+
if (showReleaseNotes) {
159+
const releaseId = await this.getLastPublish();
160+
if (releaseId && releaseId !== lastReadId) {
161+
console.log(`gitpod release notes lastReadId: ${lastReadId}, latestReleaseId: ${releaseId}`);
162+
this.createOrShow();
163+
}
150164
}
151165
}
152166

extensions/gitpod-web/src/util/cache.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,15 @@ export class CacheHelper {
4040
return now > data.expiration ? undefined : data.value;
4141
}
4242

43-
async getOrRefresh<T>(key: string, refreshCallback: () => Thenable<{ value: T; ttl?: number }>): Promise<T> {
43+
async getOrRefresh<T>(key: string, refreshCallback: () => Thenable<{ value: T; ttl?: number }>): Promise<T | undefined> {
4444
let value = this.get<T>(key);
4545
if (value === undefined) {
46-
const result = await refreshCallback();
47-
await this.set(key, result.value, result.ttl);
48-
value = result.value;
46+
try {
47+
const result = await refreshCallback();
48+
await this.set(key, result.value, result.ttl);
49+
value = result.value;
50+
} catch {
51+
}
4952
}
5053
return value;
5154
}

0 commit comments

Comments
 (0)