File tree Expand file tree Collapse file tree 3 files changed +31
-8
lines changed
Expand file tree Collapse file tree 3 files changed +31
-8
lines changed Original file line number Diff line number Diff line change 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 },
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments