Skip to content

Commit c2d6f4b

Browse files
authored
Merge pull request #123 from jpogran/GH-122-show-upgrade-message
(GH-122) Show Upgrade Message
2 parents 11d85ae + cbeef33 commit c2d6f4b

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

client/src/extension.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ export class ConnectionConfiguration implements IConnectionConfiguration {
3636
}
3737

3838
export function activate(context: vscode.ExtensionContext) {
39+
const puppetExtension = vscode.extensions.getExtension('jpogran.puppet-vscode')!;
40+
const puppetExtensionVersion = puppetExtension.packageJSON.version;
41+
42+
notifyOnNewExtensionVersion(context, puppetExtensionVersion)
43+
3944
context.subscriptions.push(new Reporter(context));
4045
var logger = new Logger();
4146
connManager = new ConnectionManager(context, logger);
@@ -51,3 +56,18 @@ export function deactivate() {
5156
connManager.dispose();
5257
}
5358
}
59+
60+
async function notifyOnNewExtensionVersion(context: vscode.ExtensionContext, version: string) {
61+
const viewReleaseNotes = 'View Release Notes';
62+
const suppressUpdateNotice = 'SuppressUpdateNotice';
63+
const dontShowAgainNotice = "Don't show again";
64+
65+
if (context.globalState.get(suppressUpdateNotice, false)) return;
66+
67+
const result = await vscode.window.showInformationMessage(`Puppet VSCode has been updated to v${version}`, dontShowAgainNotice, undefined, viewReleaseNotes);
68+
if (result === viewReleaseNotes) {
69+
vscode.commands.executeCommand('vscode.open', vscode.Uri.parse('https://marketplace.visualstudio.com/items/jpogran.puppet-vscode/changelog'));
70+
} else {
71+
context.globalState.update(suppressUpdateNotice, true);
72+
}
73+
}

0 commit comments

Comments
 (0)