File tree 3 files changed +31
-8
lines changed
3 files changed +31
-8
lines changed Original file line number Diff line number Diff line change 507
507
"type" : " boolean" ,
508
508
"description" : " Control whether to prompt to open in VS Code Desktop on page load." ,
509
509
"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"
510
516
}
511
517
}
512
518
},
Original file line number Diff line number Diff line change @@ -71,6 +71,9 @@ export class ReleaseNotes extends Disposable {
71
71
ttl : this . getResponseCacheTime ( resp ) ,
72
72
} ;
73
73
} ) ;
74
+ if ( ! md ) {
75
+ return ;
76
+ }
74
77
75
78
const parseInfo = ( md : string ) => {
76
79
if ( ! md . startsWith ( '---' ) ) {
@@ -113,7 +116,15 @@ export class ReleaseNotes extends Disposable {
113
116
}
114
117
115
118
const releaseId = await this . getLastPublish ( ) ;
119
+ if ( ! releaseId ) {
120
+ return ;
121
+ }
122
+
116
123
const mdContent = await this . loadChangelog ( releaseId ) ;
124
+ if ( ! mdContent ) {
125
+ return ;
126
+ }
127
+
117
128
const html = await vscode . commands . executeCommand < string > ( 'markdown.api.render' , mdContent ) ;
118
129
this . panel . webview . html = `<!DOCTYPE html>
119
130
<html lang="en">
@@ -143,10 +154,13 @@ export class ReleaseNotes extends Disposable {
143
154
}
144
155
145
156
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
+ }
150
164
}
151
165
}
152
166
Original file line number Diff line number Diff line change @@ -40,12 +40,15 @@ export class CacheHelper {
40
40
return now > data . expiration ? undefined : data . value ;
41
41
}
42
42
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 > {
44
44
let value = this . get < T > ( key ) ;
45
45
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
+ }
49
52
}
50
53
return value ;
51
54
}
You can’t perform that action at this time.
0 commit comments